2012-09-13 37 views
1

我有一点的JavaScript,可以让用户移动使用鼠标的东西,所以用户可以点击并拖动东西,这是工作得很好,但我挣扎的是能够覆盖用户点击事件。Javascript替代用户鼠标事件

所以我想要做的是,如果用户将项目移动到某个位置我想停止点击并按住事件,这将意味着用户将不得不去往一个重新选择该项目,然后单击并再次拖动。

你可以重写JavaScript的用户鼠标操作?这似乎很简单,但我无法找到一种方法在我的JavaScript停止鼠标事件

回答

0

您可以尝试覆盖onmousedown来存储鼠标坐标并触发“真正点击”事件onmouseup如果鼠标位置没有改变(或者如果改变小于5像素)。

0
document.getElementById('myElement').addEventListener('click', function(e) { 
    e.preventDefault(); // here is your override 
    doSomethingElse(); // or not 
}); 

同样的事情,但IE浏览器使用attachEvent代替addEventListener

0

也许不是阻塞事件,你可以把一些逻辑的onclick处理程序中检查这种状况呢?

例如,也许有几个属性来维护状态。您可以拨打一个itemSelected,该项目必须是true才能移动项目。然后,如果您将itemSelected设置为false,则需要再次点击才能再次切换。