我正在寻找一种方法来拦截网页上的所有鼠标事件(尤其是点击次数)。
我的第一直觉是$('body').click(....)
但是,如果为特定事件附加了任何其他处理程序,则不会捕获该事件。
将问题放在上下文中:我正在为我的网络应用编写一个“统计”模块。我们希望跟踪页面上的所有用户交互以进行调整。如果我们看到他们没有使用功能,我们将添加一个工具提示。
我有以下框架:
jQuery,Knockout和一个小框架“自制”
我想要的是一个用鼠标位置每次点击调用的函数。
答案 0 :(得分:6)
尝试这样的事情(没有jQuery):
var eventCount = 0;
var eventProperty = [];
var TrackMouse = function (mouseEvent) {
eventProperty[eventCount++] = {
id: mouseEvent.toElement.id,
type: 'mouse',
ts: Date.now(),
x: mouseEvent.x,
y: mouseEvent.y
};
console.log("Element id: " + eventProperty[eventCount - 1].id + ", X: " + mouseEvent.x + ", Y: " + mouseEvent.y + "\n");
};
document.addEventListener('click', TrackMouse);