我正在尝试制作各种SVG编辑器.长话短说,我需要将鼠标事件附加到<g>
给定SVG内特定深度的元素.由于各种原因,我无法提前知道身份证.SVG非常庞大,即使不是数千个元素也会有数百个.
d3.selectAll("svg > g > g > g").select("g").on("mouseover", function() {
console.log("mouseover");
}).on("mouseout", function() {
console.log("mouseout");
}).on("click", function() {
console.log("clicked");
});
Run Code Online (Sandbox Code Playgroud)
此代码有效,但它需要很长时间才能开始.假设我有十个这样的元素将匹配特定的选择.似乎在页面加载后的每一秒中,另外一个实际上获得了附加的鼠标事件.我想知道每次d3附加一个事件时我是否可以打印一个控制台事件,或者我怎么知道d3是否完成了附加所需的一切.