有關suggest快速刪除后仍然出現下拉列表的bug問題
寫suggest的時候,有時我們快速刪除輸入框的文字后,但是suggest下拉列表還有出現,導致的原因是因為ajax異步請求造成的。
雖然我們把輸入框的內容都刪除了,甚至做了停止后續(xù)請求的相關操作,但是由于ajax是異步的,即使你停止了后續(xù)的操作,但是最后一次請求的數據還在回來的路上。
解決辦法看代碼:
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);
}
我這里貼的代碼只是解決思路,把獲取到請求回來的數據后續(xù)的相關操作先封裝到函數里,當檢測到value為空的時候,把函數的操作變化一下,就不會出現suggest數據框了。
以上所述是小編給大家介紹的有關suggest快速刪除后仍然出現下拉列表的bug問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
全面解析JavaScript中apply和call以及bind(推薦)
在javascript中apply、call和bind是三兄弟,很好的搭檔,下面小編給大家全面解析JavaScript中apply和call以及bind的相關知識,感興趣的朋友一起學習吧2016-06-06
跨瀏覽器的 mouseenter mouseleave 以及 compareDocumentPosition的使用說明
昨天去 大牛 司徒正美 的blog 看博文 突然看到 關于 onmouseenter 和onmouseleave 兩個ie專有事件..2010-05-05
uniapp中uni.navigateBack返回后刷新頁面數據的實現
本文主要介紹了uniapp中uni.navigateBack返回后刷新頁面數據的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-11-11

