如上所述,我有一個按鈕,單擊該按鈕時,將打開子菜單。對於子菜單中的每個選項,都有三個元素(實際上我認爲更多,但爲了簡單起見將保留爲3)。我將焦點放在子菜單的主div(白色「框架」)上。這個div的onblur - 我然後隱藏子菜單。
這一切都像預期的那樣行事 - 但我有一個探測器,當某個特定選項的3個元素之一被點擊(即給定焦點)時,主div會關閉,因爲它是onblur事件處理程序 - 而PopUp函數鏈接到子菜單中選項的元素的onClick事件不會被觸發/到達。
我需要通過這種方式來處理主div的onblur事件,如果選項沒有被點擊。
我有JQuery明顯使用,所以我非常樂意與它一起解決問題。
這就是我要建議的。我不認爲這感覺很糟糕,我認爲這是改變事件優先順序而不知道其他事件的好方法。 –
非常感謝您的反饋Justin,非常感謝。 –
使用這個,我已經注意到onblur仍然會在onclick之前發生,延遲時間低於45ms,有時候延遲時間爲46-50ms。不知道是什麼導致了變量的結果,但它可以在同一臺PC /瀏覽器上進行。我猜測這個範圍可能會擴散,或者對其他人完全不同,所以我將計時器設置爲250ms,以保證安全。 – shinypenguin