我想检测有人单击div的时间(本质上是想知道用户何时与我网站上的一段文字进行交互,无论是通过选择一些文字还是单击一个链接),但是我不想干扰用户的行为。
如果我在div上放置onmousedown或onclick事件,它最终会破坏选择,链接等。是否有任何方法可以捕获这些事件而不会造成任何干扰?
最佳答案
只要不 return false;
,onmousedown或onclick都不会干扰任何内容。
你可以这样做:
document.getElementById("spy-on-me").onmousedown = function () {
console.log("User moused down");
return true; // Not needed, as long as you don't return false
};
如果您在页面上还有其他脚本通过此方法附加行为,则可以执行以下操作来防止覆盖它们:
var spyElement = document.getElementById("spy-on-me");
var oldMousedown = spyElement.onmousedown;
spyElement.onmousedown = function () {
console.log("User moused down");
if(oldMousedown) oldMousedown();
};
关于javascript - 使用Java脚本检测div上的鼠标单击没有副作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4631975/