使用jQuery很容易。纯粹的JavaScript不是,至少不容易找出如何。 if (event.clientX && event.clientY) { ... }
提供了一种检测,但它不是100%准确。
答案 0 :(得分:3)
是的一种方式,但它是相当有争议的恕我直言。试试这个:
HTMLElement.prototype.dispatchEvent = (function(dispev) {
return function(event) {
// Do your stuff
dispev.call(this, event);
};
})(HTMLElement.prototype.dispatchEvent);
通过这种方式,您可以在调度以编程方式生成的事件时捕获对dispatchEvent
的每次调用。当然,这会减慢调度速度,但不应该是一个问题,除非你试图解雇很多事件。
在IE8中,您必须替换Element.prototype.fireEvent
,而在IE7及更低版本中则无法对其进行任何操作。
答案 1 :(得分:0)
Event.isTrusted可以使用到令人满意的水平。