javascript - 单击指定类以外的任意位置

标签 javascript jquery

如果在除 .m1wrap div 之外的任何地方单击,我需要显示警报。

为什么这不起作用?即使我点击 .m1wrap

也会出现警报
$(document).on("click", function(e) {
    if (e.target.class !== "m1wrap") {
        alert ("323");
    };
})

最佳答案

e.target中没有属性class(它返回undefined),你可以使用属性e.target。 className(注意它从 class 属性返回所有类),但是在 jQuery 中有方法 .hasClass .

您也可以使用 classList使用 .contains 方法 e.target.classList.contains('m1wrap')

$(document).on('click', function (e) {
  if (!$(e.target).hasClass('m1wrap')) {
    console.log('not m1wrap');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="m1wrap">m1wrap</div>
<p>test</p>

关于javascript - 单击指定类以外的任意位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34176802/

相关文章:

javascript - 只允许输入字母、数字和连字符吗?

javascript - Google Closure - 将数据形成为 json 对象

jquery - 使用溢出截断底部内容 : auto; and jscrollpane

javascript - 如果单击按钮,则为表行着色

jquery - 从 Bootstrap 2 升级到 Bootstrap 3 后布局困惑

javascript - 鼠标悬停鼠标离开 - 子菜单

javascript - 使 d3 中的子节点靠近父节点

javascript - 具有设定高度的响应式图像设计

javascript - 通过JavaScript获取文档中文件上传的文件名

javascript - jQuery:附加表行不包含 CSS 样式