jquery - 如何使用 jQuery 防止另一个单击事件中的事件类上的单击事件

标签 jquery

我有几件元素已收到.active通过点击它们来上课。现在,我不需要在任何 .active 发生点击事件。类(class)。我有很多点击功能,使得该项目 active 。因此,为了防止点击事件类,我在另一个地方编写了阻止函数,并在每个点击函数中调用它们。但是,没有成功。

$('body').on('click', '#one', function() {  
   $(this).addClass('active');
   // do something more
    noClickOnActive();
});
$('body').on('click', '#two', function() {  
   $(this).addClass('active');
   // do something more
    noClickOnActive();
}); 

function noClickOnActive() {
    $('body').on('click', '.content.active', function(event) {  
        event.preventDefault()
        event.stopPropagation();
    }); 
};

如何让它发挥作用?

Fiddle work

最佳答案

使用下面的代码。使用 jquery hasClass()函数您可以检查元素是否具有类。它返回 true/false 。

DEMO

 $('body').on('click', '#one', function() {  
   if($(this).hasClass('active')){
      return false;
   }
   $(this).addClass('active');
    alert('clicked');
 });

关于jquery - 如何使用 jQuery 防止另一个单击事件中的事件类上的单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29521194/

相关文章:

javascript - 使用 jQuery 触发 CSS 摇动动画,每一次都有效……为什么?

javascript - 表行和列中的多个 ng-repeat 挂起 1000 条记录

javascript - 当用户重新提交时,如果字段不在对象中,则删除红色边框

javascript - 如何使用 CSS 使某个区域不可点击?

javascript - <textarea> 调整字体大小问题 IE 10

javascript - 使用 JQuery 在 2 个 html 文件中使用来自同一 js 文件的变量

jQuery 计时器可以在时间 x、时间 y、时间 z 上触发事件吗?

jquery - Easy Slider Jquery 插件

javascript - 数据表中的多个子行,来自asp.net core中sql server的数据

javascript - 如何将数据值从 View 传递到 Django 中的模板?