I'm working on a unit test for a javascript library that has several handlers. I wish to fire those handlers in a "natural" way, by raising an event that gets caught. I am having trouble creating an event that gets caught in Firefox.
I do development in Firefox to take advantage of Firebug, but the software is for a closed intranet and IE 7 is the required browser (we support IE 8 insofar as we force it to IE 8 mode). This policy predate my hire, I'm trying to get the software to a browser agnostic state - first I have to replace an ActiveX object known as MeadCo Script X - but that's a whole other issue.
Anyway I need to raise events, specifically onchange events in Firefox. I have this so far...
Code javascript:function fire(el, ev) { el = $(el); if (typeof(el.fireEvent) != 'undefined') { // IE el.fireEvent('on'+ev); } else { // Firefox? var e = document.createEvent('HTMLEvents'); e.initEvent(el, true, true); el.dispatchEvent(e); } }
Prototype library is in use for this project, though I haven't used it for this particular corner case.





Bookmarks