将鼠标悬停在另一个元素下的元素
我正在创建一个支持区域刷牙(参见灰色框)以及单个点交互(通过悬停在某些点上)的篮球杆图表可视化。我正在使用d3.js来实现这一点。但是,画布画布元素位于六角形元素的上方,因此我无法与后面的元素进行交互,尽管它们是可见的。将鼠标悬停在另一个元素下的元素
我想知道是否有可能在六边形上有一个鼠标悬停事件,尽管它们在后台。请记住,所有点击和拖动事件都适用于顶层画布元素。
谢谢你的帮助。
编辑:澄清,使顶层不可见点击不会工作,因为我仍然需要单击并拖动事件注册画笔画布上。我只需要鼠标悬停在下面的六边形选项。
回答:
如果我们谈论2个叠加的DOM元素是的,这是可能的。无法真正了解HTML的结构,因为它不在那里,但请记住,即使元素没有被隐藏起来,事件也会通过其父母冒泡。
$('#container').on('mouseover', function(){ $('#results1').html('Inside green square');
$('#results3').html('Last caller: green');
});
$('#child').on('mouseover', function(){
$('#results2').html('Inside blue square');
$('#results3').html('Last caller: blue');
});
$('#container').on('mouseleave', function(){
$('#results3').html('Last caller: green');
$('#results1').html('');
});
$('#child').on('mouseleave', function(){
$('#results3').html('Last caller: blue');
$('#results2').html('');
});
#container { height: 100px;
width: 100px;
background-color: green;
}
#child {
height: 50px;
width: 50px;
background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="container">
<div id="child">
</div>
</div>
<pre id="results1"></pre>
<pre id="results2"></pre>
<pre id="results3"></pre>
但是,你不能做到这一点(只有HTML和CSS改变):
$('#container').on('mouseover', function(){ $('#results1').html('Inside green square');
$('#results3').html('Last caller: green');
});
$('#child').on('mouseover', function(){
$('#results2').html('Inside blue square');
$('#results3').html('Last caller: blue');
});
$('#container').on('mouseleave', function(){
$('#results3').html('Last caller: green');
$('#results1').html('');
});
$('#child').on('mouseleave', function(){
$('#results3').html('Last caller: blue');
$('#results2').html('');
});
#container { height: 100px;
width: 100px;
background-color: green;
}
#child {
position: absolute;
top: 10px;
height: 50px;
width: 50px;
background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="container"></div>
<div id="child"></div>
<pre id="results1"></pre>
<pre id="results2"></pre>
<pre id="results3"></pre>
我能想到为唯一的事情就是成立触发元素父级上的侦听器,用于检查鼠标位置并将其与元素位置进行比较。
以上是 将鼠标悬停在另一个元素下的元素 的全部内容, 来源链接: utcz.com/qa/266474.html