我的focus
基本活动如下:
(document).on("focus", '#checkin,#checkout', function() {
$.getJSON('data.json', function(data) {
//load here...
});
});
我想加载我的json数据,实际上当我专注于我的输入时代码正常工作.json数据已经加载但是如果我专注于输入两次我会看到结果..
如何在我将输入重点放在时加载我的json数据?
答案 0 :(得分:0)
您可以使用布尔标志来测试事件是否已被触发:
var focused = false;
$(document).on("focus", '#checkin,#checkout', function() {
if (!focused) {
console.log('focused!!');
focused = true;
}
});
<强>演示:强>
var focused = false;
$(document).on("focus", '#checkin,#checkout', function() {
if (!focused) {
console.log('focused!!');
focused = true;
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="checkin" />
<input id="checkout" />
&#13;
或者作为替代方案,您可以使用jQuery .off()
方法删除事件处理程序,或.one()
method仅将其绑定一次。
答案 1 :(得分:0)
获取json数据时可以使用此代码:
$.getJSON('data.json', function(data) {
element.find('#checkin').focus();
element.find('#checkout').focus();
});