使用 jQuery 很容易。使用纯 JavaScript 不是,至少要找出方法并不容易。if (event.clientX && event.clientY) { ... }
提供某种检测,但不是 100% 准确。
问问题
2282 次
2 回答
4
有一种方法,但恕我直言,这是很有争议的。尝试这个:
HTMLElement.prototype.dispatchEvent = (function(dispev) {
return function(event) {
// Do your stuff
dispev.call(this, event);
};
})(HTMLElement.prototype.dispatchEvent);
有了这个,您可以在dispatchEvent
调度以编程方式生成的事件时捕获每个调用。当然,这会稍微减慢调度速度,但除非您尝试触发大量事件,否则这应该不是问题。
在 IE8 中,您必须替换Element.prototype.fireEvent
,而在 IE7 及更低版本中,您无法对此做任何事情。
于 2013-04-23T21:13:43.280 回答
0
Event.isTrusted可以使用到令人满意的水平。
于 2019-10-23T09:44:25.493 回答