Javascript 如何防止鼠标点击事件
Javascript 如何防止鼠标点击事件,javascript,d3.js,Javascript,D3.js,mousedown mouseup click上有一个rect事件。但是当我点击rect mouseup事件时不会触发 这是我的代码: var rect=d3.select(".text").append("rect") .attr("width",1000).attr("height",1000) .style("fill","#00ff00"); rect.on("click",function(){ d3.even
mousedown mouseup click上有一个rect
事件。但是当我点击rect 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")
})
.on("mousedown",function(){
d3.select(this).style("fill","#ff0000")
}).on("mouseup",function(){
d3.event.preventDefault;
d3.select(this).style("fill","#00ff00")
})
您的单击
事件将覆盖鼠标悬停
事件。当你点击
并将鼠标保持在向下位置,mousedown
事件激发并
改变了颜色。释放鼠标时,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")
})
但我需要点击事件来做其他事情。如何处理?您不能让mouseup
和click
事件用于与更改颜色相同的目的。你可以做不同的事情。你的实际目的和问题是什么?鼠标可以在不同的位置触发我处理这些事情,谢谢