我在富HTML应用程序中遇到了一些鼠标事件问题。
我有一个巨大的脂肪'半透明' div覆盖了一半的屏幕(该死的设计师)。让我们叫他A。
在这个A div后面,有一个叫做B的大容器。
在B中,有4个div应该响应mouseover
和mouseout
事件,我们可以称它们为C1、C2、C3和C4。
不幸的是,大的A div阻塞了我所有的Javascript/jQuery事件。
这可以通过一些变通办法解决,但问题是:
- 这个bug出现在一个自制的Javascript引擎中。我知道B,但我不应该知道B中的C元素(或它们的id)。所以我不能使用坐标技巧或if/else解决方案。
- 应用程序应该在电视上运行(在一个奇怪的歌剧版本中)。所以没有“指针事件”CSS技巧。
- 请不要告诉我重新设计我的应用程序:)
我试着处理(使用和不使用jQuery)来自A的事件并将其触发到B。它工作了,但B没有将其转发到它的C子节点,而且再一次,我不知道它们的进展。
3条答案
按热度按时间1yjd4xko1#
下面是你要做的。大多数浏览器都支持css pointer events。
在这些浏览器上用途:
对于不支持此css功能的浏览器,请执行以下操作
vwkv1x7d2#
OR内部标记:
style="pointer-events: none;"
djmepvbi3#
由于您有div1,它包含一些HTML内容,应该听点击和div2是重叠的,您需要找到点击的坐标,然后点击正确的位置,在此基础上,通过: