Мне поручено запускать пользовательские события в документе без использования каких-либо библиотек, таких как jQuery или прототип.
Так что я в порядке в Firefox, делая это:
function fireCustomEvent(eventData)
{
if (document.createEvent) // Firefox
{
var event = document.createEvent('HTMLEvents'); // create event
event.initEvent('myCustomEvent', true, true ); // name event
event.data = eventData; // put my stuff on it
document.dispatchEvent(event); // fire event
}
else if (document.createEventObject) // IE
{
xxxxxxxxxxx
}
}
и теперь яможет запустить это так:
fireCustomEvent({
category: 'test',
value: 123
});
и поймать это так (здесь я могу использовать jQuery):
$(document).bind('myCustomEvent', function (event) {
doStuff(event);
});
Мой вопрос: что я могу сделать, чтобы заставить эту работу работатьIE (другими словами, куда я положил xxxxxxxxxxx)?
Я думаю, что эквивалентный IE должен выглядеть примерно так:
var event = document.createEventObject();
event.data = eventData;
document.fireEvent('myCustomEvent', event);
Но это не работает.IE позволяет мне использовать только предопределенные имена событий (onclick и т. Д.), И даже некоторые из них не работают (например, onmessage)
Любая помощь или идеи приветствуются!