文本区域的变化与延迟
Textarea on change with delay
我想用扫描仪扫描qr码。我已经有了一个扫描仪,当我把焦点放在一个隐藏的文本区域时,当我扫描qr码时,他会把文本放在文本区域。
我想对特定文本区域中输出的数据做一些事情。现在我在jQuery中有如下内容:
$("#qr_data").bind("input", function (e) {
console.log(e);
});
问题是,在我的文本区qr数据的加载需要2秒左右。这个函数被调用了20次... .我只想要最后的数据,这样我才能对它做点什么。我怎么能这么做?
嗨,我要做的是绑定到更改事件,并在每次触发时延迟函数500ms。就像你正在创建一个自动完成输入字段,你不想在每次击键时触发ajax请求。
var qr_timeout = null;
$("#qr_data").change(function(){
if(qr_timeout != null)
clearTimeout(qr_timeout);
qr_timeout = setTimeout(function(){
//Do your magic here
}, 500);
});
这样你就不用担心加载会花费1,2甚至10秒
// we will build a new event
// once for initing a new event "lastchange"
$("textarea").each(function () {
var timer = null;
$(this).change(function(){
var node = this;
if(timer != null)
clearTimeout(timer);
timer = setTimeout(function(){
$(node).trigger('lastchange');
}, 1000);
});
});
// use custom event
$("textarea#qr_data").bind("lastchange", function (e) {
console.log($(this).val(), e);
});
相关文章:
- 可以简化嵌套的延迟Q Promises解析吗
- 单击页面上的链接后高度发生变化
- onclick函数需要双击,因为类分配延迟
- 更多延迟动画
- 对父作用域的指令更新延迟了一步
- 为JS函数添加延迟
- React redux初始化功能,无论状态变化如何
- 带有延迟的循环每次应运行5次
- 角度ng变化或ng点击选择can'不起作用
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- 关键帧之间的css3动画延迟
- 如何在有延迟的情况下对两个代码进行积分
- JS幻灯片与CSS背景颜色变化
- 如何为.css状态的更改添加延迟
- Angular.js延迟控制器初始化
- 在延迟时设置Whois脚本
- 如何在Javascript中延迟setInterval
- 当AngularJS中文本框发生变化时,调用带有延迟的函数
- 文本区域的变化与延迟
- IE10延迟渲染快速定位变化