有一个rect
onmousedown mouseup click
事件。但是当我单击鼠标右键事件不会触发https://jsfiddle.net/f0vbc94s/时,有我的代码:
var rect=d3.select(".text").append("rect")
.attr("width",1000).attr("height",1000)
.style("fill","#00ff00");
rect.on("click",function(){
d3.event.preventDefault
d3.select(this).style("fill","#000000")
})
.on("mousedown",function(){
d3.select(this).style("fill","#ff0000")
}).on("mouseup",function(){
d3.event.preventDefault;
d3.select(this).style("fill","#00ff00")
})
您的
click
活动正在覆盖该mouseup
活动。当您单击鼠标并将其保持在向下位置时,mousedown
事件将触发并更改颜色。释放鼠标时,mouseup
事件触发,更改了颜色,然后click
事件立即触发并更改了颜色。因此,您无法识别它。
如果您对click
事件进行评论,则可以看到mouseup
事件已触发。
试试这个,
var rect=d3.select(".text").append("rect")
.attr("width",1000).attr("height",1000)
.style("fill","#00ff00");
//rect.on("click",function(){
//d3.event.preventDefault
//d3.select(this).style("fill","#000000")
//})
rect.on("mousedown",function(){
d3.select(this).style("fill","#ff0000")
}).on("mouseup",function(){
d3.event.preventDefault;
d3.select(this).style("fill","#00ff00")
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句