jquery中事件绑定的方法有好几种,下面是我对这些方法的理解
1.bind(),我们最常使用的方法之一,它会给每个匹配的元素绑定 事件以及添加时间处理函数
<div>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>
$(” div>ul li”).bind(“click”,function(){
alert(” this is a test”);
})
bind 给ul 中的每一li元素绑定点击事件和时间处理程序
2.live() 利用时间委托机制,它会将事件绑定到匹配元素的根元素(document)上
live()会强制默认根元素为document
3.delegate() 与live() 类似 它会将事件绑定到指定的根元素上 并不会强制限定根元素
div id="root">
<a>Alice</a>
<a>Bob</a>
</div>
<script>
$('#root').delegate('a', 'click', function(){
console.log('clicked');
});
</script>
4 on() on方法是以上三种方式的总和`
//bind
( “#foo” ).bind( “click”, function( e ) {} );( “#foo” ).on( “click”, function( e ) {} );
// delegate
( “#root” ).delegate( “a”, “click”, function( e ) {} );( “#root” ).on( “click”, “a”, function( e ) {} );
“`
`