标签:input ges tar targe ajax 下拉列表 bug value 快速删除
写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数据框了。
标签:input ges tar targe ajax 下拉列表 bug value 快速删除
原文地址:http://www.cnblogs.com/webxzy/p/6124093.html