1

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

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

您可以从 javascript 覆盖用户的鼠标操作吗?看起来很简单,但我无法在我的 javascript 中找到停止 mousehold 事件的方法

4

3 回答 3

0

也许您可以在onclick处理程序中放置一些逻辑来检查这种情况,而不是阻塞事件?

例如,可能有几个属性来维护状态。您可以调用 one itemSelected,这必须是true为了使项目移动。然后,如果您设置itemSelectedfalse,则需要再次单击才能再次切换它。

于 2012-09-13T23:17:16.980 回答
0

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

于 2012-09-13T23:12:36.880 回答
0
document.getElementById('myElement').addEventListener('click', function(e) {
    e.preventDefault(); // here is your override
    doSomethingElse();  // or not
});

Same thing for IE but use attachEvent instead of addEventListener

于 2012-09-13T23:15:02.457 回答