文档说
triggerHandler()将虚拟对象传递给处理程序:http
:
//docs.angularjs.org/api/ng/function/angular.element
如果检查源,则可以看到
triggerHandler()创建了自己的事件对象,然后将第二个参数作为事件数据而不是实际事件对象传递:
https://github.com/angular/angular.js/blob/master/src/jqLite.js#L882
相关代码:
var event = [{ preventDefault: noop, stopPropagation: noop}];forEach(eventFns, function(fn) { fn.apply(element, event.concat(eventData));});我已经使用jQuery的内部事件模拟器来创建自己的事件。可能对您有用:http :
//wingkaiwan.com/2012/09/23/triggering-mouse-events-with-jquery-simulate-
when-testing-in-javascript/



