寫suggest的時候,有時我們快速刪除輸入框的文字后,但是suggest下拉列表還有出現(xiàn),導(dǎo)致的原因是因為ajax異步請求造成的。
雖然我們把輸入框的內(nèi)容都刪除了,甚至做了停止后續(xù)請求的相關(guān)操作,但是由于ajax是異步的,即使你停止了后續(xù)的操作,但是最后一次請求的數(shù)據(jù)還在回來的路上。
解決辦法看代碼:
var inp = document.getElementById('inp'),timer = 0;inp.oninput = function (e) {var val = e.target.value;var f = function () {alert(val)}if (val === '') {f = function () {console.log('setState = []');}}clearTimeout(timer);timer = setTimeout(function () {f();}, 400);}我這里貼的代碼只是解決思路,把獲取到請求回來的數(shù)據(jù)后續(xù)的相關(guān)操作先封裝到函數(shù)里,當(dāng)檢測到value為空的時候,把函數(shù)的操作變化一下,就不會出現(xiàn)suggest數(shù)據(jù)框了。
以上所述是小編給大家介紹的有關(guān)suggest快速刪除后仍然出現(xiàn)下拉列表的bug問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對VeVb武林網(wǎng)網(wǎng)站的支持!
新聞熱點
疑難解答