Ten sposób działa od IE10. W IE9 createEvent. Przykład z: http://davidwalsh.name/customevent Dobry artykuł: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events#The_old-fashioned_way
//basic event creating:
var event = new Event('build');
// Listen for the event.
elem.addEventListener('build', function (e) { ... }, false);
// dispatch the event.
elem.dispatchEvent(event);
//create own event with passed data:
var myEvent = new CustomEvent("userLogin", {
//Any data passed when initializing the event.
detail: {
username: "davidwalsh"
},
bubbles: true,
cancelable: true
});
//trigger own event:
myElement.dispatchEvent(myEvent);
//listen to custom event is a standard:
myElement.addEventListener("userLogin", function(e) {
console.info("Event is: ", e);
console.info("Custom data is: ", e.detail);
}, false);
//use example:
function getSelectionBounds() {
var x = (bounds["x"].toFixed(2));
var y = "xyz";
var selectionFired = new CustomEvent("selectionFired", {"detail": {"x": x,"y": y}});
document.dispatchEvent(selectionFired);
}
document.addEventListener("selectionFired", function (e) {
alert(e.detail.x + " " + e.detail.y);
});