如果我将鼠标悬停在我的元素上5次,那么json数据已经加载了5次,但我希望当鼠标悬停我的元素时只加载json数据一次。
$(document).on('mouseover', '.details-checkin,.details-checkout', function() {
$.getJSON('http://content.anitur.com/web/Assets/js/data.json', function(data) {
//bla bla blaaa
});
});

答案 0 :(得分:2)
您可以添加一个简单的检查,看看您是否已拨打电话。这使用了一个在事件处理程序
之外的变量var isLoading = false;
$(document).on('mouseover', '.details-checkin,.details-checkout', function() {
if(isLoading === false) {
isLoading = true
$.getJSON('http://content.anitur.com/web/Assets/js/data.json', function(data) {
//bla bla blaaa
});
}
});
答案 1 :(得分:1)
你考虑过使用sessionStorage吗?如果您只需要在每个会话中获取一次JSON,您可以添加如下内容:
sessionStorage.jsonWasRead = 'true';
if (sessionStorage.jsonWasRead != 'true') {
//your read json code
}