有关suggest快速删除后仍然出现下拉列表的bug问题
写suggest的时候,有时我们快速删除输入框的文字后,但是suggest下拉列表还有出现,导致的原因是因为ajax异步请求造成的。
虽然我们把输入框的内容都删除了,甚至做了停止后续请求的相关操作,但是由于ajax是异步的,即使你停止了后续的操作,但是最后一次请求的数据还在回来的路上。
解决办法看代码:
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);
}
我这里贴的代码只是解决思路,把获取到请求回来的数据后续的相关操作先封装到函数里,当检测到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


最新评论