21

jQuery 1.7 的.on().off()方法应该被替换.live()等等。

我尝试了一个动态项目:

 $(".myList").on('click', function(e){
  alert('hello world');
 });

对于加载 DOM 后添加的元素,这对我不起作用。

上面的代码是 jQuery 1.7.on().off()方法的有效示例吗?

4

3 回答 3

33

有关 live() -> on/off() (和其他)示例,请参见http://blog.jquery.com/2011/11/03/jquery-1-7-released/

这是他们将 live 转换为 on 的示例:

$('a').live('click', fn);
$(document).on('click', 'a', fn);

所以你的例子变成:

$(document).on('click', '.myList', function(e){
  alert('hello world');
});
于 2011-11-06T19:15:01.757 回答
4

这是一个小例子:

http://jsfiddle.net/zzSjK/

<script type="text/javascript">
    $(function(){
        $(document).on('click','.clickme' , function(e){
          addtext()
        });
        function addtext() {
            $('.myList').append('<div class="clickme">click me</div>')
        }
    })
</script>

<div class="myList">
    <div class="clickme">-click-</div>
</div>
于 2011-11-06T19:23:10.920 回答
2

“绑定”:

$(document).on('click','.myDiv',function(){ ... });

并“解绑”:

$(document).off('click','.myDiv');
于 2013-01-09T10:08:20.683 回答