removeClass在点击时被否决

时间:2015-11-26 15:42:48

标签: jquery

我有一个类,可以在点击时加载模态框。

我想为特定元素删除它,所以我使用.removeClass

$('.future').removeClass('ajax-page-content');

虽然在控制台中查看时删除了类,但单击该元素仍会加载模式框以便它被否决。我该如何解决?感谢

2 个答案:

答案 0 :(得分:1)

在点击监听器(如

)上注册时,必须使用on方法
$(document).on('click','.ajax-page-content',function(){
   console.log('clicked')
})

答案 1 :(得分:0)

您可能还需要删除以前注册的点击事件处理程序。您可以使用jQuery unbind方法执行此操作。

yourJQuerySelectorForTheElement.unbind("click");

假设yourJQuerySelectorForTheElement是jQuery选择的元素。它是您删除ajax-page-content css类

的元素

这又取决于您注册点击事件的方式。如果使用click事件处理程序将其直接绑定到元素,则需要使用unbind方法显式删除它。

$(function(){

 $(".ajax-page-content").click(function(e){        
    alert("Show My modal popup");        
  });      

  $(document).on("click",".remove",function(e){
     var _this=$(this);

    _this.closest(".linkHolder") // This is just to get the parent div.
                                 // you may replace based on how you have your markup.

       .find("a.future")
       .removeClass("ajax-page-content")      
       .unbind("click");

  });      
});

jsbin上的工作样本here

但是如果您使用jquery on方法注册了Click事件处理程序,则无需显式删除它。

$(document).on("click",".ajax-page-content",function(e){    
    alert("My modal popup");    
});

工作样本here