javascript - jQuery:让一个元素充当另一个元素的事件代理

标签 javascript jquery events

我有两个元素相互叠加。我希望在最顶层元素上触发的任何鼠标事件都不会将该事件应用于最顶层元素,而是将其应用于其下方的元素。我该怎么做?

换句话说,具有最高 z-index 的元素应该出现在顶部但对鼠标事件不可见,因此它下面的元素会接收它们。

最佳答案

可以在上层元素的事件处理器中触发下层元素的事件:

 $('#top').click(function(e){
   $('#bottom').trigger(e);                   
 });

您可以将所有要代理的事件绑定(bind)在一起:

$('#top').bind('mouseenter mouseleave mousemove click etc', function(e) {
  $('#bottom').trigger(e);
});

我不确定 mouseX、mouseY、target 等发生了什么。

关于javascript - jQuery:让一个元素充当另一个元素的事件代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4517554/

相关文章:

Android ACTION_DOWN 事件在几秒后自动执行 ACTION_UP 事件

events - GWT 事件预览与事件处理程序

javascript - 随机CSS位置jquery

javascript - jQuery 类更改未在 IE 中触发? Chrome/FF 按设计工作

javascript - 无法让 Knockout.js 更新可观察的对象属性

javascript - jQuery/Ajax 添加类到 LI 不起作用

jquery - 如何在<option>标签内插入<img>标签?

jquery - 使用 jquery 和 css 折叠消息时遇到问题

javascript - 事件 'load' 不适用于 JavaScript

javascript - 如何将 Step 代码转换为 Async.JS (Step => waterfall, this.parallel)?