JavaScript将mouseenter事件传递给位于另一个元素下面的元素

JavaScript pass mouseenter event to element that is underneath another element

本文关键字:元素 另一个 mouseenter 事件 JavaScript      更新时间:2023-09-26

我试图建立一个小的日历应用程序有点像谷歌日历。我试图创建一个点击和拖动功能的事件,使事件对齐到一个网格。我正试着将拖拽绑定到事件DIV元素下方的TD元素,这在向下移动(延长事件)时有效,但向上移动(缩小事件)时不起作用。

发生的情况是,为事件DIV元素触发mouseenter事件,但从未为底层TD触发。如果您尝试通过在一侧向上移动来调整DIV的大小,它会起作用,因为td实际上接收了mouseenter事件。

Google Calendar和jQuery Week Calendar使用mousemove事件,但mousemove事件为每个像素触发,这似乎是浪费。有没有一种方法来写这个不使用mousemove事件?

是否可以将DIV元素放在表和td后面?如果表是透明的,用户仍然可以看到DIV,但实际上会在td上触发事件。我试着用z-index这样做,但它似乎并没有实际工作。

jsFiddle示例代码:http://jsfiddle.net/rockymeza/8SHpA/

听起来你好像遇到了和我类似的问题:

你想在元素后面触发事件吗?答案是CSS。设置pointer-events:没有;

我做了一个测试,我试图(不成功)在触摸设备上实现相同的行为。您可以查看:http://www.hakoniemi.net/misc/pointer-events.html如果它能帮助您解决您的问题。