jquery - 将单击事件绑定(bind)到文档是否比将其绑定(bind)到正文更好?

标签 jquery

问题在于

$("body").click(function(e){});$(document).click(function(e){});

哪个更有效或更可取?还是要看具体情况?

老实说,我一直交替使用它们,直到我好奇并在这里提出这个问题之前,我没有看到任何差异。

最佳答案

如果页面高度小于视口(viewport)高度,则点击页面下方的视口(viewport)将不会触发'body'点击处理程序,而只会触发document单击处理程序。

现场演示: http://jsfiddle.net/simevidas/ZVgDC/

在演示中,尝试单击文本下方的区域,您将看到仅执行 document 单击处理程序。

因此,最好将处理程序绑定(bind)到 Document 对象。

关于jquery - 将单击事件绑定(bind)到文档是否比将其绑定(bind)到正文更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5215117/

相关文章:

javascript - Vue DevTools 正确更新但浏览器窗口不更新

javascript - CSS 以 child 为目标但不影响它所应用的元素

javascript - 有没有办法让 div 像 iframe 一样工作?

javascript - 从先前的选择框值填充选择框选项

javascript - 将元素移出屏幕,然后使用 CSS 动画返回

javascript - jQuery 插件中的全局变量

javascript - 如何使用下拉列表选择填充页面上的字段?

jquery - 如何删除另一个列表元素中的 <input> 元素?

javascript - 使 Bootstrap 导航栏在滚动时折叠?

jquery - 使用 CSS 或 jQuery 更改文本框光标颜色