javascript - 附加事件处理程序

标签 javascript jquery click handler

我对第二个事件处理程序有疑问。这有点复杂,因为我将脚本加载到其他页面(我无法修改该页面)并且该脚本对单击事件使用react。 例如,当我单击该客户端页面的任何段落时,我的脚本会显示警报“已点击”。 如果该客户没有自己的点击处理程序,那么它就可以工作。我的点击函数什么时候从不运行。

此时脚本非常简单:

jQuery('body').click(function(event){
  alert('clicked');
});

有什么提示吗? 对不起我的英语。

最佳答案

据我了解,客户端可能会阻止从注册了点击处理程序的元素传播事件。

由于您将事件处理程序注册到 body 元素,因此只有当特定元素中的触发一直传播到 body 元素时,才会触发该事件处理程序。

一个可能的肮脏解决方案是将处理程序添加到页面中的所有元素,但这对于动态添加的元素不起作用。

jQuery('body *').click(function(event){
  alert('clicked');
});

演示:Problem (点击 T1 不会触发点击事件)
演示:Solution

关于javascript - 附加事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17613584/

相关文章:

javascript - 如何将单击事件绑定(bind)到文档,以便仅在没有单击对象时触发该事件

javascript - 2个日期时间时刻之间的时差

javascript - 如何覆盖 Twitter Bootstrap 2 中的响应功能?

javascript - 为什么在 JS 中以不同的方式重新组合被加数有时会产生不同的结果?

javascript - 用于将字符串中的单词大写的管道中出现错误

javascript - 如何使用 jQuery 设置 ajax post 的最大执行时间?

javascript - paddingheight 具有不同的高度

javascript - 将数组中每个单词的第一个字母大写

javascript - mootools |切换器事件

按下 Ctrl 键时,jQuery 单击功能在 IE 中不起作用