我有以下链接:
<?php echo
anchor("$controller_name/cleanup",
'<i class="fa fa-undo hidden-lg fa fa-2x tip-bottom" data-original-title="'.lang('items_cleanup_old_items').'"></i><span class="visible-lg">'.lang("items_cleanup_old_items").'</span>',
array('id'=>'cleanup',
'class'=>'btn btn-warning','title'=>lang("items_cleanup_old_items")));
?>
我在$(document).ready()
中有javascript绑定到锚点并将点击覆盖为ajax调用函数并执行event.preventDefault();
以防止链接被导航到。
我遇到的问题是如果页面还没有完全加载,他们点击链接;他们去了ajax页面(这是一堆json)。
我正在考虑的解决方案是将锚更改为javascript:void(0)
并使用实际链接添加属性data-cleanup-url。这是一个合适的解决方案吗?
答案 0 :(得分:1)
为什么不使用变量来确定window.onload
是否已完成,并根据状态指向新功能?
var isPageLoaded = false;
$(window).load(function(){
isPageLoaded = true;
});
$(document).ready(function(){
$('a').on('click', function (evt){
evt.preventDefault();
if (isPageLoaded) doAjaxThing();
else doNothing();
});
function doAjaxThing() {
}
function doNothing() {
}
});