標籤:int char blog 提交 com 完全 alert 失效 java
本章內容轉自:http://www.cnblogs.com/BoKeYuanVinson/articles/3360954.html
轉載自網路貼吧:
頁面指令碼是無法截獲alt鍵的,不過可以變通一下,我想你是希望學生不要切換出當前瀏覽器視窗,要達到這個目的可以不必截獲alt+tab,而改用window.onblur(),這個事件在當前頁面失去焦點時觸發,這樣以來,我們就可以在考試開始之前聲明:"如果做視窗切換,將導致系統立刻交卷,而不管你是否已經完成",然後,在頁面的頭部寫上類似下面的代碼:
---------------------------------------------------------
<HEAD>
<TITLE> Exam </TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<SCRIPT LANGUAGE="JavaScript">
function auto_submit (){
alert("你試圖離開當前視窗,系統將自動認可試卷!");
//自動認可的代碼, 例如: form1.submit();
}
window.onblur=auto_submit;
</SCRIPT>
</HEAD>
---------------------------------------------------------
這樣,只要使用者操作頁面外的任何東西(包括當前視窗的菜單,地址欄),都會觸發onblur事件.
--------
當使用者按下alt鍵時,預設會啟用瀏覽器的菜單,這樣輸入焦點已經不在頁面上了,頁面內的JS自然無可奈何,所以,如樓下Jack所說的,即使屏蔽了tab也還是不夠,因為alt+tab的組合是先按alt鍵,這個alt會讓我們捕獲鍵盤操作的JS代碼完全失效,關於這一點,你試試這段代碼就知道了:
<BODY onkeypress="alert(‘press!‘);return true" onkeydown="alert(‘down!‘);return true"></BODY>
你按esc、printscreen或alt,都不會有反應,其他的,包括ctrl在內都可以截獲。
另一張說法:
你可以這樣寫:
<body>
<script type="text/javascript">
function document.body.onkeydown()
{
var a = event.altKey;
var l = event.keyCode==?? <!--此處是Tab鍵KeyCode-->
var q = a&&l;
return !q;
}
</script>
(轉)js控制視窗失去焦點(包括屏蔽Alt+Tab鍵切換頁面)