javascript - 单击文档而不是特定元素警报

标签 javascript jquery

在我的 HTML 中

$(document).click(function(){
    alert('Document Clicked');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
    <button type='button'>CLICK [NO ALERT]</button>
    <button type='button'>ME[NO ALERT]</button>
</body>

在我这里的代码中,如果我点击按钮,如何防止显示警报,但是除了按钮之外的任何东西都可以被提醒。

最佳答案

您可以添加另一个 click那个特定的听众 <button>并停止传播事件:

$(document).click(function(){
  alert('Document Clicked');
})
$('.not-clickable').click(function(e) {
  e.stopPropagation();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
    <button type='button'>CLICK [NO ALERT]</button>
    <button type='button' class="not-clickable">ME[NO ALERT]</button>
</body>

另一个选项是检查被点击的元素是否是那个特定的按钮:

$(document).click(function(e){
  if (e.target.classList.contains('not-clickable')) {
    return;
  }
  alert('Document Clicked');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
    <button type='button'>CLICK [NO ALERT]</button>
    <button type='button' class="not-clickable">ME[NO ALERT]</button>
</body>

关于javascript - 单击文档而不是特定元素警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46258777/

相关文章:

javascript - 从 javascript 客户端连接到 asp.net core signalR 服务器

javascript - react Hook 形式 setValue 返回未定义的多选( react 选择)

javascript - JQuery - 从父 div 中获取未知数量的子级的 id 值

javascript - 从 JSON 字符串值中删除双引号

javascript - 添加另一个系列到行 Highcharts

javascript - jquery 变量到 $(jquery 变量),两者有什么区别

javascript - 文本交换后保存文本

javascript - 你能推荐一个显示日历小部件的 JQuery 插件吗?

javascript - .htaccess。给出 410 错误并重定向动态 php 页面

javascript - 具有自动播放功能的幻灯片以及通过点进行选择的能力