使用原型觸發事件
回答
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. 如何用JQuery觸發原始事件
- 3. 使用window.location.hash觸發事件
- 4. 使用WPF事件觸發事件
- 5. 如何在原型js中使用觸摸事件?
- 6. 如何在另一個完成後觸發原型事件?
- 7. 使用原來`this`在事件觸發外
- 8. 使用發射觸發增強型網格事件
- 9. 使用事件觸發消耗OSX鼠標/觸控板事件
- 10. 觸發事件
- 11. 觸發事件
- 12. 觸發事件
- 13. 觸發事件
- 14. 觸發事件
- 15. 觸發事件
- 16. 事件觸發
- 17. 觸發事件
- 18. 如何在用戶停止觸發事件後觸發事件
- 19. 區分用戶觸發事件和代碼觸發事件
- 20. 使用TouchDown事件來防止觸發TouchUpInside事件發生
- 21. 使用原始TCP發送Kaa事件
- 22. React-Native:無法觸發原生UIButton觸摸事件
- 23. 骨幹模型事件沒有觸發
- 24. laravel模型$事件沒有被觸發
- 25. 基於模型事件觸發jQuery的
- 26. 事件觸發條件觸發
- 27. 使用dojo觸發mouseover事件?
- 28. MotionEvent.ACTION_UP事件使用seekbar觸發兩次
- 29. iOS - 使用iBeacons觸發事件
- 30. 使用UpdatePanel時事件不會觸發
看看我的答案。在原型中有一個支持... – 2010-09-14 11:43:36