我有一个场景,我正在收听对象的CLICK
和MouseDown
事件。
在MouseDown上我做startDrag()
。点击,我执行其他操作。
但问题是,MouseDown事件首先触发并启动拖动。点击事件不会触发。我该如何解决这个问题?
答案 0 :(得分:2)
你可以监听MouseDown事件,当它触发订阅MouseMove和MouseUp事件并记住MouseDown上游标的坐标时。然后确定一个delta(比如1px),这将是开始拖动的标志。因此,如果MouseMove调用您检查当前鼠标位置并确定用户是否真的在拖动(使用您的delta)。在这种情况下,请调用startDrag()
。在其他情况下,将调用Click事件。
记得取消订阅活动! :)