Javascript覆盖用户鼠标事件

时间:2012-09-13 23:00:57

标签: javascript mouse

我有一些javascript允许用户使用鼠标移动东西,所以用户可以点击并拖动周围的东西,这一切都很好,但我正在努力的是能够覆盖用户点击事件。

所以我想要做的是,如果用户将项目移动到某个位置我想要停止点击并保持事件,这将意味着用户必须再次重新选择该项目并单击和再拖一次。

你可以从javascript覆盖用户鼠标操作吗?这似乎很简单,但我无法在我的javascript中找到一种方法来阻止mousehold事件

3 个答案:

答案 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,则需要再次点击以再次切换它。