jquery中$(document).on的一些疑惑
jquery中用on来绑定事件,经常的写法有
$(document).on('click','.classname',function(){});
$('.classname').on('click',function(){});
上面两种都是给类是classname的元素添加了click事件,那这两个写法有什么区别呢?在效率上哪个更好呢?
同样的,
$(document).on('click','#idname',function(){});
$('#idname').on('click',function(){});
这个是个id为idname的原始 绑定click事件,这两种写法又有什么不同呢?
我的理解是$(document).on是把事件委托到了document上,$('#idname').on是把事件委托到了元素上面,那应该是后一种比较好,这种理解是对的吗?
------解决方案--------------------$(document).on是把事件委托到了document上 对的。
$('#idname').on是把事件委托到了元素上面 错的。 事件直接帮到#idname
$('.classname').on('click',function(){}); 每一个有.classname的元素,绑一个click事件。
所以用$(document).on('click','.classname',function(){}); 比较好,