我在jquery中有点击事件,如
$("#elementId").off("click").on("click",function (event) {
// some code
event.preventDefault();
});
在这种情况下,我使用off
然后on
点击。对于ajax加载元素,这是另一种方法。
$(document).on("click", "#elementId",function (event) {
//some code
$(this).unbind( "click" );
});
我刚才知道
1。
有没有办法off
点击on
点击,如第一种情况。但是第二个也正常工作。
2.两种方法之间有什么区别。$("#elementId").off("click").on("click",function (event)
和$(this).unbind( "click" );
内部点击。
答案 0 :(得分:0)
.off()
可以按以下方式编写 -
$( "body" ).off( "click", "p", foo );
这回答了你的第一个问题。所以你可以做这样的事情,
$(document).off('click', '#elementId').on('click', '#elementId',function (event) {
//some code
$(this).unbind( 'click' );
});
请在文档中了解更多相关信息 - http://api.jquery.com/off/#off-events-selector
要回答第二个问题,第一段代码将删除所有现有的事件处理程序,然后附加新的处理程序。第二段代码将让事件处理程序只触发一次。
我建议您不要使用.unbind
,而是建议您使用.off
,因为.unbind
已被弃用。见这里 - http://api.jquery.com/unbind/
在此处演示您的第二个问题 - https://codepen.io/anon/pen/KmgbQM