使用原型觸發事件
回答
event.simulate.js
符合您的需求。
我已經使用了這幾次,它的作品就像一個魅力。它可以讓你手動觸發本地事件,如點擊或懸停,像這樣:
$('foo').simulate('click');
關於這個偉大的事情是,所有連接的事件處理程序仍然會執行,就像你會點擊元素你自己。
對於定製事件您可以使用標準原型方法Event.fire()
。
正是我在找什麼,非常感謝 – 2009-01-20 10:49:28
Freakin'輝煌!這幫了我很多。謝謝:) – CalebHC 2009-12-29 04:45:55
我不認爲這是一個內置於原型,但你可以使用這個(未經測試,但至少應該讓你在正確的方向):
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);
}
}
的答案在這裏是「正常」事件屬實,那是一個由用戶代理定義的事件,但對於自定義事件,你應該使用原型的「火」的方法。例如
$('something').observe('my:custom', function() { alert('Custom'); });
.
.
$('something').fire('my:custom'); // This will cause the alert to display
- 1. 原型 - 觸發每個onchange事件
- 2. 使用WPF事件觸發事件
- 3. 如何在另一個完成後觸發原型事件?
- 4. 使用事件觸發消耗OSX鼠標/觸控板事件
- 5. 觸發事件
- 6. 觸發事件
- 7. 觸發事件
- 8. 觸發事件
- 9. 觸發事件
- 10. 觸發事件
- 11. 區分用戶觸發事件和代碼觸發事件
- 12. 使用原始TCP發送Kaa事件
- 13. 基於模型事件觸發jQuery的
- 14. laravel模型$事件沒有被觸發
- 15. 骨幹模型事件沒有觸發
- 16. 在Kaa中使用Webapp觸發事件
- 17. 使用dojo觸發mouseover事件?
- 18. 在CSS上使用jquery觸發事件?
- 19. 如何使用jquery事件觸發window.fbAsyncInit
- 20. jQuery,使用多個事件觸發器?
- 21. 使用普通HTML觸發serverside事件?
- 22. 兩個docready()事件使用jQuery.tabs()觸發;
- 23. 使用javascript在asp.net中觸發事件
- 24. 使用jquery點擊事件觸發AJAX
- 25. 使用中點擊觸發onclick事件
- 26. 如何使用Xcode觸發事件?
- 27. 使用jQuery live或delegate觸發事件
- 28. 使用jQuery創建/觸發事件
- 29. 使用iphone觸發Mac上的事件
- 30. 事件觸發後,使用Ruby變量
看看我的答案。在原型中有一個支持... – 2010-09-14 11:43:36