1
我正在將焦點轉移到onblur
下拉事件的控件上,焦點轉移到所需的控件,並且爲該控件編寫的onblur
事件正在執行,我不想要。我如何防止這種情況發生?如何在JavaScript中取消控件的onblur事件?
感謝
紀
我正在將焦點轉移到onblur
下拉事件的控件上,焦點轉移到所需的控件,並且爲該控件編寫的onblur
事件正在執行,我不想要。我如何防止這種情況發生?如何在JavaScript中取消控件的onblur事件?
感謝
紀
如果你設置了焦點,而焦點已經被設定,你可以預期各類奇事件的激發。這個問題不是特定於Javascript的;它發生在我曾經使用過的每個GUI上。您無法可靠地阻止事件發生,如果您嘗試使用其他瀏覽器或在不同的操作系統上運行,您可能無法以相同的順序獲得相同的順序。
我一直使用布爾變量作爲標誌來記錄我是否正在設置焦點的過程中,並且在設置該標誌時安靜地從onblur()等返回。像
var isFocusGettingMessedWith; ... isFocusGettingMessedWith = true; someControl.focus(); isFocusGettingMessedWith = false; ... function someControl_onblur(event) { if (!isFocusGettingMessedWith) { /* do something */ } } function otherControl_onblur(event) { if (!isFocusGettingMessedWith) { /* do something */ } }
這種做法有什麼東西在每一種語言/平臺的組合,其中我已經有原因使用它工作可靠。
一些代碼會有幫助 – 2010-09-15 10:28:11