如何检测HTML中相邻元素上的鼠标事件

Startec

是否可以在HTML的另一个元素下但不相邻的对象(不是子对象)上检测鼠标事件?

例如:

<style>
#test, test2 {
     width: 100%;
     height: 100%
}
</style>

<html>
    <section class="full" id="test">
    Full Screen 
    </section>


    <section class="anotherFull" id="test2">
    Full Screen As well
    </section>


<script>

        var elem = document.querySelector('#test2');

        elem.addEventListener('hover', function(){
          alert('you are hovering');
        }, false);

</script>
<html>

但是,如果我在页面上方,则无论我使用mouseenter mouseover还是hover,无论edocument.addEventListener('hover', function(e){}, false)(;等类似的位置)向下看多远,e.target都无法检测到第二个(相邻)元素上的悬停。

特拉维斯J

jsFiddle Demo

解决此问题的一种方法是简单地链接事件。您可以将addEventListener和dispatchEvent结合使用。在MDN文章“创建和触发事件”中对此进行了概述

var
 outer = document.getElementById("outer"),
 inner = document.getElementById("inner")
;

inner.addEventListener('mouseenter',function(e){
 alert('hovering inner');
},false);

outer.addEventListener('mouseenter',function(ev){
 alert('hovering outer');
 this.style.display = "none";
 var tar = document.elementFromPoint(ev.clientX, ev.clientY);
 this.style.display = "block";
 tar.dispatchEvent(new Event('mouseenter'));
},false);
#screen{
    position:relative;
    width:50px;
    height:50px;
}
#outer{
    position:absolute;
    top:0;
    left:0;
    z-index:2;
    width:50px;
    height:50px;
    background-color:blue;
}
#inner{
    position:absolute;
    top:0;
    left:0;
    z-index:1;
    width:50px;
    height:50px;
    background-color:red;
}
<fieldset>
    <legend>Screen Mockup</legend>
    <div id="screen">
        <div id="outer"></div>
        <div id="inner"></div>
    </div>
</fieldset>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检测鼠标在jQuery中的子元素上?

来自分类Dev

如何检测鼠标在jQuery中的子元素上?

来自分类Dev

如何在流星/ javascript中禁用禁用的html元素上的鼠标单击事件

来自分类Dev

在多个重叠的SVG元素上检测鼠标事件

来自分类Dev

如何取消检测/忽略某个html元素中的javascript事件?

来自分类Dev

如何禁用/重新启用html元素和子元素上的所有单击/触摸/鼠标事件

来自分类Dev

检测鼠标是否不在iframe中的元素上

来自分类Dev

如何在AngularJS中检测鼠标事件的目标模型

来自分类Dev

如何使用Java检测系统中的每个鼠标事件

来自分类Dev

如何在可可中获取鼠标单击事件元素

来自分类Dev

当鼠标移过 FullCalendar 中的元素时如何放置事件?

来自分类Dev

如何检测鼠标在pyside中绘制的椭圆上单击?

来自分类Dev

如何检测在pyside中绘制的椭圆上的鼠标单击?

来自分类Dev

在HTML中的多个元素上触发事件

来自分类Dev

如何检测全局鼠标按钮事件

来自分类Dev

Eclipse RCP / SWT:如何检测系统上其他地方发生的鼠标事件

来自分类Dev

在MKMapView中检测鼠标双击事件(不是iOS触摸事件)

来自分类Dev

在每个父元素上检测滚动事件

来自分类Dev

在每个父元素上检测滚动事件

来自分类Dev

如何在Meteor JS中检测整个文档上的事件?

来自分类Dev

Gtk:如何检测EventBox上的鼠标位置?

来自分类Dev

拖动html元素时检测mouseenter事件

来自分类Dev

如何处理元素中的鼠标事件,而不处理其子元素之一?

来自分类Dev

如何通过单击鼠标捕获HTML代码中的标记元素

来自分类Dev

如何在HTML的pdf对象中检测点击事件

来自分类Dev

如何在HTML的pdf对象中检测点击事件

来自分类Dev

当鼠标实际在元素上移动时如何获取MouseMove事件

来自分类Dev

如何在堆叠的SVG元素上触发鼠标悬停事件

来自分类Dev

当鼠标实际在元素上移动时如何获取MouseMove事件

Related 相关文章

  1. 1

    如何检测鼠标在jQuery中的子元素上?

  2. 2

    如何检测鼠标在jQuery中的子元素上?

  3. 3

    如何在流星/ javascript中禁用禁用的html元素上的鼠标单击事件

  4. 4

    在多个重叠的SVG元素上检测鼠标事件

  5. 5

    如何取消检测/忽略某个html元素中的javascript事件?

  6. 6

    如何禁用/重新启用html元素和子元素上的所有单击/触摸/鼠标事件

  7. 7

    检测鼠标是否不在iframe中的元素上

  8. 8

    如何在AngularJS中检测鼠标事件的目标模型

  9. 9

    如何使用Java检测系统中的每个鼠标事件

  10. 10

    如何在可可中获取鼠标单击事件元素

  11. 11

    当鼠标移过 FullCalendar 中的元素时如何放置事件?

  12. 12

    如何检测鼠标在pyside中绘制的椭圆上单击?

  13. 13

    如何检测在pyside中绘制的椭圆上的鼠标单击?

  14. 14

    在HTML中的多个元素上触发事件

  15. 15

    如何检测全局鼠标按钮事件

  16. 16

    Eclipse RCP / SWT:如何检测系统上其他地方发生的鼠标事件

  17. 17

    在MKMapView中检测鼠标双击事件(不是iOS触摸事件)

  18. 18

    在每个父元素上检测滚动事件

  19. 19

    在每个父元素上检测滚动事件

  20. 20

    如何在Meteor JS中检测整个文档上的事件?

  21. 21

    Gtk:如何检测EventBox上的鼠标位置?

  22. 22

    拖动html元素时检测mouseenter事件

  23. 23

    如何处理元素中的鼠标事件,而不处理其子元素之一?

  24. 24

    如何通过单击鼠标捕获HTML代码中的标记元素

  25. 25

    如何在HTML的pdf对象中检测点击事件

  26. 26

    如何在HTML的pdf对象中检测点击事件

  27. 27

    当鼠标实际在元素上移动时如何获取MouseMove事件

  28. 28

    如何在堆叠的SVG元素上触发鼠标悬停事件

  29. 29

    当鼠标实际在元素上移动时如何获取MouseMove事件

热门标签

归档