有没有一种简洁的方法可以将短时间、短时间的拖动事件解释为点击事件?例如,我正在使用 d3 并定义以下事件,这些事件应该捕获 SVG 上的单击、鼠标移动(无拖动)和拖动事件,以及处理此类事件的结束:
@svg
.on("click", @plot_click )
.on("mousemove", @plot_mousemove )
.on("mousedown.drag", @plot_drag )
.on("touchstart.drag", @plot_drag )
# Global event detectors
d3.select("body")
.on("mouseup.drag", @mouseup)
.on("touchend.drag", @mouseup)
但是,鼠标不完美的短点击事件仍然注册为非常小的拖动事件,这对我的界面来说非常烦人。有什么好的方法来解决这个问题?
虽然我使用 d3 定义事件处理程序,但我愿意为此调整任何通用的 Javascript 方法。