我试图阻止用户使用“F5”刷新页面,但只有在显示厚框时。
麻烦的是,在我在Thickbox 中的页面之间切换后,我在下面查看Thickbox 是否可见的检查总是返回false -
var bol_thickbox_shown = ($('#TB_window').is(':visible')) ? true : false;
我认为这与加载页面的方式有关(可能是 AJAX 调用),但我不知道在检查Thickbox 是否可见时如何处理。有人可以帮忙吗?谢谢。
这是我的完整代码-
/**
* Prevent F5 from refreshing the page if the Thickbox is shown
*/
document.onkeydown = function(e){
/** Check to see if the Thickbox is being shown */
var bol_thickbox_shown = ($('#TB_window').is(':visible')) ? true : false;
console.log('bol_thickbox_shown: '+bol_thickbox_shown);
if(bol_thickbox_shown && e.keyCode === 116){ // F5 keycode is 116
e.preventDefault();
e.returnValue = false; // for IE
}
}