0
我試圖阻止用戶能夠使用「F5」刷新頁面,但僅當顯示Thickbox時才能刷新頁面。檢查AJAX生成的內容是否可見
麻煩的是,之後我在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
}
}
我很懷疑你可以改變瀏覽器中默認快捷方式的默認行爲(但我可能是錯的)。 – h2ooooooo
如果此框打開或可見,那麼在ajax調用檢查之後,你無法將變量設置爲true。 –
@ h2ooooooo - 以上防止'F5'刷新頁面的方法在不與Thickbox配合使用時工作得很好。我的問題與Thickbox的存在以及頁面加載後如何生成有關。 –