有没有办法关闭ajax加载元素

时间:2017-04-25 02:25:07

标签: 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 
        $(this).unbind( "click" );
       });

我刚才知道

1。 有没有办法off点击on点击,如第一种情况。但是第二个也正常工作。

2.两种方法之间有什么区别。$("#elementId").off("click").on("click",function (event)$(this).unbind( "click" );内部点击。

1 个答案:

答案 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