jQuery.1.9 live 代替事件 on 新增内容无法触发事件

Posted 弃身锋刃端!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery.1.9 live 代替事件 on 新增内容无法触发事件相关的知识,希望对你有一定的参考价值。

如果是新增 append 或者 html() 事件添加的内容,无法触发 click 事件,

在1.9 可以用live 事件来代替

1.9以后用 

<div class="search-result-list">
<ul>
<li data=‘11‘>我是内容</li>
<li data=‘12‘>我是内容</li>
</ul>
</div>

如果<li>是新增的内容 , 就无法触发click事件,只能用下面的来实现

    $("body").on(‘click‘,‘.search-result-list ul li‘,function (){
        var id = $(this).attr(‘data‘);
        $.ajax({
            type: "POST",
            url: "/Admin/Checkup/look_edit",
            data: {id:id},
            success: function(msg){
                if(msg.status==1){
                      $(".by-result").html(msg.data.ill)
                  }else{
                    alert("数据失败!");
                }
            }
        });
    })

 

使用 live

$(‘.search-result-list ul li‘).live(‘click‘, function(){ 
alert(
‘OK‘);
});

 

以上是关于jQuery.1.9 live 代替事件 on 新增内容无法触发事件的主要内容,如果未能解决你的问题,请参考以下文章

Jquery 的bind(), live(), delegate(), on()绑定事件方式

jquery on()绑定的点击事件在js动态新添加的元素上无效

JQjq动态绑定事件.on()解绑事件off()

浅谈Jquery中的bind()live()delegate()on()绑定事件方式

jQuery事件绑定on()bind()live()与delegate() 方法详解

jQuery 1.9+ ajaxStart事件无效,无法被触发的原因。