event.simulate.js
соответствия Ваши потребности.
я несколько раз использовал это, и это работает как очарование. Это позволяет Вам вручную триггерные собственные события , такие как щелчок или парение как так:
$('foo').simulate('click');
большая вещь об этом состоит в том, что все приложенные обработчики событий будут все еще выполняться, так же, как если бы Вы нажали бы элемент сами.
Для [1 110] пользовательские события можно использовать стандартный метод прототипа Event.fire()
.
Я не думаю, что существует тот, встроенный к Прототипу, но можно использовать это (не протестированный, но должен, по крайней мере, получить Вас в правильном направлении):
Element.prototype.triggerEvent = function(eventName)
{
if (document.createEvent)
{
var evt = document.createEvent('HTMLEvents');
evt.initEvent(eventName, true, true);
return this.dispatchEvent(evt);
}
if (this.fireEvent)
return this.fireEvent('on' + eventName);
}
$('foo').triggerEvent('mouseover');
Я нашел этот пост полезным ... http://jehiah.cz/archive/firing-javascript-events-properly
Это описывает способ запуска событий как в Firefox, так и в IE.
function fireEvent(element,event){
if (document.createEventObject){
// dispatch for IE
var evt = document.createEventObject();
return element.fireEvent('on'+event,evt)
}
else{
// dispatch for firefox + others
var evt = document.createEvent("HTMLEvents");
evt.initEvent(event, true, true ); // event type,bubbling,cancelable
return !element.dispatchEvent(evt);
}
}