我想用扫描仪扫描QR码。我已经有了扫描仪,当我将焦点放在隐藏的文本区域时,他在扫描QR码时将文本放在textarea中。
我想对特定textarea中输出的数据做些什么。现在我在jQuery中有以下内容:
$("#qr_data").bind("input", function (e) {
console.log(e);
});
问题是在我的textarea中加载QR数据大约需要2秒钟。所以这个函数被调用了20次....我只想要最后的数据,所以我可以用它做点什么。我怎么能这样做?
答案 0 :(得分:1)
我要做的就是绑定到change事件,并在每次触发时将函数推迟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秒
答案 1 :(得分:1)
fid = fopen(filename, 'rt');
dataset = textscan(fid, '%s', 'delimiter', '\n', 'headerlines', 0);
fclose(fid);
result = regexp(dataset{1}, '//([A-Za-z].*)=([0-9\.].*)', 'tokens');
result = result(cellfun(@(x) ~isempty(x), result));