我有一種情況,我想確認用戶仍然可以在頁面獲得焦點時編輯頁面。這將阻止他們放棄一個選項卡的編輯權限,然後返回到原始選項卡進行編輯,或放棄編輯權限,然後使用瀏覽器BACK按鈕返回到他們仍然可以編輯的頁面。 window.onfocus在IE,FF和Safari中完全適用於此,但在Chrome中不適用。它是否正確?我錯過了明顯的東西嗎?有沒有解決方法?下面是在IE,FF和Safari瀏覽器的工作原理代碼:window.onfocus事件不會在Google Chrome中觸發?
$(window).bind('focus', function() {
$.getJSON("do_check.php", {id: 'foo'}, function(data){
if (! data.SUCCESS) {
$("#not_editor_dialog").dialog('open');
}
});
});
注意的是,以上結合使用jQuery的事件,而jQuery的少的版本也無法在Chrome:
window.onfocus = function() {
etc.
};
謝謝!
你嘗試過jQuery方法'.focusin'嗎? – jantimon 2010-07-01 16:14:49
事實證明,我是一個白癡(我討厭它,當這種情況發生)。問題不在於焦點事件,而是Chrome緩存了getJSON響應,因此它沒有在後端獲取更改。我被誤導是因爲它以前工作過,而我改變的唯一的東西(我認爲)是我正在使用的事件,但顯然在這個過程中,我「欺騙Chrome不使用緩存響應」需要調整。 – 2010-07-01 16:43:01