我寫了一個自動完成類型thingy,它通過divs並將它們添加到列表中,如果它們的名稱/ id被找到。我正在使用一個我在線發現的事件處理程序,該程序會在任何輸入更改時調用。我遇到的問題是:當找到一個有效的div並將其添加到自動完成列表中,然後用戶繼續輸入,但輸入了無效的div名稱時,div名稱將從列表中刪除;但是,如果找不到div,列表會一直存在,但是空白。在輸入變化上刪除div
更好的解釋方法是試用。
http://jsfiddle.net/ypz0zrzv/21/
類型「測試單位」框中,然後繼續輸入隨機的字母。我正在嘗試將現在空的列表刪除。問題在於,當我實現這樣的功能時,只有在輸入第二個字符後纔會發生。這是因爲處理程序檢查輸入更改列表。
所以,如果我輸入「測試單位」它添加div。如果我輸入「Test Unita」,它會顯示一個空白的自動完成div。如果我現在鍵入「測試Unitaa」,自動完成div將會消失。我很困惑如何讓自動完成在發現沒有div後立即變爲空白。問題
代碼問題
if ($('#autocomplete_list li').length === 0){
hide_remove($('#autocomplete'))
}
謝謝!但是在那裏遞歸會有什麼危險嗎? hide_remove會調用check array,其中調用hide remove等。 – tdoakiiii 2014-09-25 19:03:34
我明白了你的觀點,但檢查控制檯日誌。它似乎不會導致遞歸,否則控制檯將繼續輸出數組的長度。 – wrxsti 2014-09-25 19:12:57
另外,如果需要的話,我確定還有另一個地方可以觸發該功能。 – wrxsti 2014-09-25 19:14:30