我有一個文本框。當用戶關注文本框時,我會提供一個幫助程序來幫助他們填充文本框。當文本框模糊時,幫助程序會消失。停止偷取焦點而不阻止組合框打開
問題是,幫手現在需要包含一個組合框(它是一個普通的select
標籤)。之前爲了允許用戶與助手交互而不失焦,我們在mousedown事件上使用了preventDefault()。但是,似乎組合框的打開處理程序是mousedown上的默認事件。因此,如果我們阻止默認,組合框忽略用戶的點擊。如果我們不阻止Default,那麼組合框會打開一個納秒,然後這個字段失去焦點,此時幫助器會消失,包括剛打開的組合框。
我該如何阻止該領域失去焦點,但仍然允許用戶與組合框交互?
編輯:我真的寧願避免輸入失去焦點。當輸入不集中時,幫手的其他功能沒有意義。即使輸入沒有集中,但我決定不想這樣做,我認爲在單擊組合框後單擊顯示助手。
小提琴會更有幫助。 – rajuGT
和 – JNF
問題中的代碼我實際上並不知道如何使用普通的DOM API來有條件地渲染那樣; p – Puppy