我有一些 javascript 允许用户使用鼠标移动东西,所以用户可以点击并拖动东西,这一切正常,但我正在努力的是能够覆盖用户点击事件.
所以我想做的是,如果用户将项目移动到某个位置,我想停止单击并按住事件,这意味着用户将不得不再次重新选择项目并再次单击并拖动。
您可以从 javascript 覆盖用户的鼠标操作吗?看起来很简单,但我无法在我的 javascript 中找到停止 mousehold 事件的方法
我有一些 javascript 允许用户使用鼠标移动东西,所以用户可以点击并拖动东西,这一切正常,但我正在努力的是能够覆盖用户点击事件.
所以我想做的是,如果用户将项目移动到某个位置,我想停止单击并按住事件,这意味着用户将不得不再次重新选择项目并再次单击并拖动。
您可以从 javascript 覆盖用户的鼠标操作吗?看起来很简单,但我无法在我的 javascript 中找到停止 mousehold 事件的方法
也许您可以在onclick
处理程序中放置一些逻辑来检查这种情况,而不是阻塞事件?
例如,可能有几个属性来维护状态。您可以调用 one itemSelected
,这必须是true
为了使项目移动。然后,如果您设置itemSelected
为false
,则需要再次单击才能再次切换它。
如果鼠标位置没有改变(或者如果改变小于 5 像素),您可以尝试覆盖onmousedown
以存储鼠标坐标并触发“真正的单击”事件。onmouseup
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