[英]In Dojo or Javascript how do I make my event handler fire before other event handlers?
在Dojo Javascript庫中,我了解如何使用dojo.connect或dojo.publish將事件處理程序連接到事件。 該功能效果很好。
但我想再做一件事。
我希望我的事件處理程序首先觸發,然后再觸發其他已定義的事件處理程序。 我想這可以稱為“事件處理程序插入”之類的東西。
在Dojo中有沒有辦法做到這一點,或者在普通Javascript中有沒有方便又優雅的辦法?
嘗試像這樣修改事件:
function alertTest(){
alert('test');
}
function alertTest2(){
alert('test2');
}
window.onload = alertTest2; //just setting it to simulate that an event
//is already set
oldOnload = window.onload; //store the old event into a temporary variable
window.onload = function() { //assign a new function to the event
alertTest(); //whatever your "must happen first" function is
oldOnload.apply(); //run the original event after
}
觸發事件后,它們將與其動作 (onload,onclick)相關聯。 那么,如何在觸發其他操作之前觸發事件?
例如,如果您不知道何時觸發事件,該如何在onclick
之前觸發事件?
這絕對是您無法做的事情,也許您想將處理程序注冊到onload
事件,該事件通常在所有其他事件之前觸發。
我遇到了一個(可能)相關的問題,並且最終使用setTimeout設置了一個標志。
javascript模糊事件-有什么方法可以檢測到哪個元素現在具有焦點? 丑陋,但是行得通。
據我所知,一旦事件處理程序附加到DOM節點,處理程序執行的順序就取決於實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.