Javascript 有没有办法关闭对ajax加载元素的单击

Javascript 有没有办法关闭对ajax加载元素的单击,javascript,jquery,Javascript,Jquery,我在jquery中有点击事件,比如 $("#elementId").off("click").on("click",function (event) { // some code event.preventDefault(); }); 在这种情况下,我使用off,然后单击on。这里是ajax加载元素的另一种方式 $(document).on("click", "#elementId",function (event) { //some code

我在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" );
       });
我才知道

一,。 有没有办法像第一种情况一样,关闭和打开一起单击呢?但是第二种方法也可以

2.这两种方法的区别是什么。
$(“#elementId”).off(“click”).on(“click”),函数(事件)
$(此)。解除绑定(“click”);
内部单击。

.off()
可以以下方式写入-

$( "body" ).off( "click", "p", foo );
这回答了你的第一个问题你可以这样做

$(document).off('click', '#elementId').on('click', '#elementId',function (event) {
   //some code 
   $(this).unbind( 'click' );
});
请阅读文档中的更多信息-

为了回答您的第二个问题,第一段代码将删除所有现有的事件处理程序,然后附加新的处理程序。第二段代码只允许事件处理程序触发一次

另外,我建议您不要使用
.unbind
,而是使用
.off
本身,因为
.unbind
已被弃用。请参阅此处-

第二个问题的演示-

.off()
可以用以下方式编写-

$( "body" ).off( "click", "p", foo );
这回答了你的第一个问题你可以这样做

$(document).off('click', '#elementId').on('click', '#elementId',function (event) {
   //some code 
   $(this).unbind( 'click' );
});
请阅读文档中的更多信息-

为了回答您的第二个问题,第一段代码将删除所有现有的事件处理程序,然后附加新的处理程序。第二段代码只允许事件处理程序触发一次

另外,我建议您不要使用
.unbind
,而是使用
.off
本身,因为
.unbind
已被弃用。请参阅此处-

演示您的第二个问题-