- on()方法在匹配元素上绑定一个或者多个事件处理函数
element.on(events,[selector],fn);
//发生多个事件的话:
$("div").on({
mouseover:function(){
$(this).css("background","red");
},
click:function(){
$(this).css("background","blue");
},
mouseout:function(){
$(this).css("background","green");
}
})
//发生事件发生同样的操作的话:
$("div").on("mouseover mouseout",function(){
$(this).toggleClass("current");
})
2.可以事件委派操作,事件委派的定义就是,把原来加给子元素身上的事件绑定在父元素身上,就是把事件委派给父元素。
事件委派的好处是:
(1)减少操作DOM节点的次数,从而减少浏览器的重绘和重排,提高代码的性能。
(2)使用事件委托,只有父元素与DOM存在交互,其他的操作都是在JS虚拟内存中完成的,这样就大大提高了性能。
$("ul li").on("click","li",function(){
alert(11);
})
3.动态创建的元素,click()没有办法绑定事件,on()可以给动态生成的元素绑定事件。
//$("ul li").click(function(){
// alert(11);
//}) 写这个事件,是不会弹出alert。
$("ul").on("click","li",function(){
alert(11);
})
var li = $("<li>我是后来创建的li</li>");
$("ul").append(li);