javascript - Why jQuery trigger method doesn't use native events? -
jquery trigger
works listeners attached jquery , won't work if listener attached otherwise (with prototype.js example).
but, @ same time - if trigger native event - works both jquery , other libraries.
the question - why jquery doesn't generate native event out of box , instead uses own stuff?
i'm curious , want know why works way.
p.s.
sample code native event
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); }
in versions of ie (before attachevent/addeventlistener), assign 1 handler/listener each event. jquery assign handler event, calls list of callbacks (the handlers assigned). allows consistent behaviour of multiple handlers across different browsers.
Comments
Post a Comment