当前使用jQuery,当我需要在发生点击时做一些事情时,我会像这样...
$(".close-box").click( function() {
MoneyBox.closeBox();
return false;
});
我正在看别人在项目上拥有的一些代码,他们这样做是...
$(".close-box").live("click", function () {
MoneyBox.closeBox();
return false;
});
请注意,就我所知,它似乎在做相同的事情,除了它们使用的是live()函数(现在已弃用并且jQuery文档说使用)on()
代替了,但是无论哪种方式,为什么要使用live / on()而不是我的第一个示例?
因为您可能具有动态生成的元素(例如,来自AJAX调用),所以您可能希望具有以前绑定到同一元素选择器的相同单击处理程序,然后使用on()
带选择器参数来“删除” click事件
展示:
on()
click()
如果未指定选择器,则也可以是同义词:
$('.elementClass').click(function() { // code
});
与...同义
$('.elementClass').on('click', function() { // code
});
从某种意义上说,它仅将处理程序一次添加到所有具有class的元素上elementClass
。elementClass
例如$('<div class="elementClass" />')
,如果您有一个新的源,则处理程序将不会绑定到该新元素上,则需要执行以下操作:
$('#container').on('click', '.elementClass', function() { // code
});
假设#container
是.elementClass
祖先
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句