jQuery trigger
仅适用于jQuery附加的侦听器,如果附加了侦听器,则无法工作(例如,使用prototype.js)。
但是,同时 - 如果你触发本机事件 - 它将适用于jQuery和其他库。
问题是 - 为什么jQuery不会生成开箱即用的本机事件而是使用自己的东西?
我只是好奇,想知道为什么会这样。
P.S。
原生事件的示例代码
var trigger = function(el, eventName)
{
if (document.createEvent)
{
var evt = document.createEvent('HTMLEvents');
evt.initEvent(eventName, true, true);
return el.dispatchEvent(evt);
}
if (el.fireEvent)
return el.fireEvent('on' + eventName);
}
答案 0 :(得分:0)
在早期版本的IE中(在attachEvent / addEventListener之前),您只能为每个事件分配一个处理程序/侦听器。 jQuery所做的是为事件分配一个处理程序,它调用一个回调列表(你指定的处理程序)。这允许跨不同浏览器的多个处理程序的一致行为。