好的,所以我有两种方法来执行div刷新
$('#player').load('/videos/index');
在我的rails应用中。一个是通过链接
<a href="#" id="nextb" onclick="$('#player').load('/videos/index').unbind();">next</a>
其他是通过该按钮的快捷方式。他们工作正常,直到我发现,如果我通过链接连续两次刷新播放器,然后通过快捷方式,它会两次加载div。如果我通过链接刷新连续三次,而不是通过快捷方式刷新链接三次。等等.. 所以,我已经开始尝试配置绑定(正如我所说,这就是原因),但有mo结果。 这是我在application.js
的绑定快捷方式部分搞砸了 $(document).ready(function(){;
$(document).bind('keydown', 'space', function() {
$('#player').unbind('load');
$('#player').load('/videos/index');
$(document).unbind();
});
});
我试图通过快捷方式单击链接,但结果相同,所以我假设问题出在加载中。任何建议都会有所帮助。
答案 0 :(得分:1)
避免双重刷新的最佳方法是使用状态标志,指示它是否可以再次加载,或者是否正在加载:
$(document).ready(function() {
var loading = false;
function reloadDiv() {
if(!loading) {
loading = true;
$('#player').load('/videos/index', null, function() { loading = false; });
}
}
$('#nextb').click(reloadDiv);
$(document).bind('keydown', 'space', reloadDiv);
});
祝你好运!