我有一些javascript允许用户使用鼠标移动东西,所以用户可以点击并拖动周围的东西,这一切都很好,但我正在努力的是能够覆盖用户点击事件。
所以我想要做的是,如果用户将项目移动到某个位置我想要停止点击并保持事件,这将意味着用户必须再次重新选择该项目并单击和再拖一次。
你可以从javascript覆盖用户鼠标操作吗?这似乎很简单,但我无法在我的javascript中找到一种方法来阻止mousehold事件
答案 0 :(得分:0)
如果鼠标位置未更改(或者更改小于5像素),您可以尝试覆盖onmousedown
以存储鼠标坐标并触发onmouseup
上的“真实点击”事件)。
答案 1 :(得分:0)
document.getElementById('myElement').addEventListener('click', function(e) {
e.preventDefault(); // here is your override
doSomethingElse(); // or not
});
IE也是如此,但使用attachEvent
代替addEventListener
答案 2 :(得分:0)
也许您可以在onclick
处理程序中放置一些逻辑来检查这种情况,而不是阻止事件?
例如,可能有几个属性可以维持状态。您可以调用一个itemSelected
,其必须为true
才能移动该项目。然后,如果您将itemSelected
设置为false
,则需要再次点击以再次切换它。