禁止某些 svg 子元素的鼠标交互
Inhibit mouse interactions for certain svg child elements
这是一个画了一个圆圈的svg:
svg = d3.select("body").append("svg")
.on("mouseover", function() { console.log("callback");} );
svg.append("circle")
.attr("cx", 50)
.attr("cy",50)
.attr("r",20)
.attr("fill","red");
为什么当我将鼠标悬停在circle
上时mouseover
触发?我假设是因为它是其父svg
的子元素?
但我想禁止这种行为。我该怎么做?
鼠标悬停函数上的参数似乎没有在事件中传递,所以我想出了这个解决方案。
svg = d3.select("body").append("svg")
.on("mouseover", function() {
var event = window.event;
if (event.target.nodeName === "svg") {
console.log("callback");
}
});
svg.append("circle")
.attr("cx", 50)
.attr("cy",50)
.attr("r",20)
.attr("fill","red");
如果要
禁止指针交互,请在该元素上设置指针事件="none"。
.attr("pointer-events","none")
容器元素不会在 SVG 中触发鼠标事件。 仅当您将鼠标悬停在其包含的任何子图形元素上时,才会触发该事件。
相关文章:
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 当鼠标悬停在文本中的单词上时显示警报
- JsFiddle上的鼠标事件不起作用
- 在Windows 10中自动执行例行程序(主要与浏览器交互)
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 将鼠标旋转限制为特定的度数
- 跟踪jqplot垂直折线图的鼠标位置
- 在Windows8(HTML/JS)中,有什么方法可以区分触摸和鼠标交互吗
- 禁止某些 svg 子元素的鼠标交互
- 正在处理.js - 当鼠标离开画布时继续交互
- 防止鼠标与透明元素背景交互
- OpenLayers 3 在选择交互时获取鼠标坐标
- 是否可以使用非鼠标、非触摸事件与 D3.js 图形进行交互?如果是这样,最有效的方法是什么
- 盲人可以使用利用鼠标事件进行交互的网页吗
- 在容器中放置图像和添加鼠标交互时的浏览器兼容性
- jQuery:鼠标交互+简单动画
- Highcharts:停止一个系列与鼠标的交互
- 禁用鼠标悬停交互JointJS图