mingyunyuziyou

jquery中bind方法与on方法区别?

作者: 秒速五厘米     
 


代码:

<!-- 首先我页面之中有一个ul标签 -->
<ul class="opo">
    <li>askjdnsajdnk</li>
</ul>


js代码中我们分别使用bind和on方法,来实现点击li的时候,让被点击的dom节点改变背景颜色

$('.opo li').bind('click',function(){
    $(this).css({'color':'#fff'});
    $(this).css({'background':'red'});
})
 
$('.opo').on('click','li',function(){
    $(this).css({'color':'#fff'});
    $(this).css({'background':'red'});
})


然后我们使用bind方法,会发现并没有生效

此时我们再看使用on方法,就已经看出区别所在了

总结:
bind方法要在,js动态插入标签之后,才可使用,要是在之前写入的话,不可生效。

而on方法,无论前后皆可使用,因为他把事件写在了父及上,利用冒泡,实现事件委托,最终实现点击效果。