D3.js D3缩放中未触发鼠标悬停事件
D3.js D3缩放中未触发鼠标悬停事件,d3.js,D3.js,d3 .选择('正文') .append('svg') .attr('width',300) .attr('height',300) .on('mousedown',()=>{ console.log('mousedown触发器') }) .on('mouseup',()=>{ console.log('mouseup触发器') }) .打电话( d3.zoom() .scaleExtent([0.1,10]) .on('zoom',function(){ console.log('zoom t
d3
.选择('正文')
.append('svg')
.attr('width',300)
.attr('height',300)
.on('mousedown',()=>{
console.log('mousedown触发器')
})
.on('mouseup',()=>{
console.log('mouseup触发器')
})
.打电话(
d3.zoom()
.scaleExtent([0.1,10])
.on('zoom',function(){
console.log('zoom trigger')
})
)
正如Gerardo Furtado在评论中指出的,d3 zoom(从d3.v4开始)阻止了mouseup事件。但是,如果在缩放行为之前注册,则会触发单击
事件,如您的示例所示
见讨论 请查看API:。它说
mouseup-->默认阻止:是
。根据我的测试,无论是在注册缩放之前还是之后注册单击,效果都是一样的。此外,如果发生mousemove事件,则也不会触发click。因此,你没有提出任何解决办法。