javascript - jquery 不函数错过元素

标签 javascript jquery

我使用工具提示在页面上显示错误消息,我需要在单击 View 中的其他位置时将其关闭。我使用以下代码来控制此操作:

$(':not(.qtip)').click(function(){
   $('.qtip').hide();
});

“.qtip”用于标记工具提示区域。工具提示在出现时会创建一个新工具提示,这里发生的事情是当我单击工具提示时,它会消失。

但是当我使用较小比例的选择器而不是整个主体时,它工作正常,这有点奇怪,例如:

$("#id").not('.qtip').click(function (){
    $('.qtip').hide();
});

最佳答案

建议仅针对 document 来处理工具提示之外的点击; :not(.qtip) 的选择器可能会返回一个非常大的结果集。

$(document).on('click', function() {
    $('.qtip').hide();
}

在工具提示本身,您需要防止点击事件冒泡到文档级别,如果您还没有这样做的话:

$('.qtip').on('click', false);

关于javascript - jquery 不函数错过元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15682896/

相关文章:

javascript - 选择更改时的 JS 更改表单操作不适用于 .trim()

javascript - 无法使 ng-show 正常工作

javascript - JQuery 会覆盖现有的内联事件处理程序吗?

javascript - 什么是 DOM 对象的反向引用?

javascript - ASP.Net:跨浏览器操作

javascript - Bootstrap 轮播加载后执行操作

javascript - 没有数据时如何制作不可见的数据表?

javascript - 当网站访问者手动更改 URL 时,如何根据 URL 设置 Cookie

jQuery AJAX html(newhtml) 输出奇怪的 HTML

javascript - 无法在运行时在 Windows 8 应用程序中显示/隐藏 html 元素