jQuery中用on来绑定事件,常用写法
第一种:$(document).on('click','.classname',function(){});
$(document).on('click','#idname',function(){});
第二种:$('.classname').on('click',function(){});
$('#idname').on('click',function(){});
两种写法哪个更好?
1.$(document).on
将事件委托document,$('#idname').on
将事件绑定到.className元素上。每次document有点击动作,浏览器都会判断当前点击的对象。如果匹配再决定要不要执行,多了个判断环节。JS渲染效率很高,所以此异同基本可以忽略。
2.$("className").on
为onclick绑定,只有在页面onload时执行一次。页面刷新后,新加载的具有className的元素便没有事件绑定到上面了。相反$(document).on这种方法会刷新和重新赋予绑定操作,所以一定程度上更为全面。