獲取鍵盤F11的按鈕的應用。看到晚上有多中方式,測試多個之後,找到這個方式,能在進入全屏和退出全屏時都能檢測到F11物理鍵的操作。
下面是完整的代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery.min.js"></script> <script> $(document).on('keydown', function (e) { var e = event || window.event || arguments.callee.caller.arguments[0]; if(e && e.keyCode == 122){//捕捉F11鍵盤動作 e.preventDefault(); //阻止F11默認動作 var el = document.documentElement; var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen;//定義不同瀏覽器的全屏API //執行全屏 if (typeof rfs != "undefined" && rfs) { rfs.call(el); } else if(typeof window.ActiveXObject != "undefined"){ var wscript = new ActiveXObject("WScript.Shell"); if (wscript!=null) { wscript.SendKeys("{F11}"); } } //監聽不同瀏覽器的全屏事件,並件執行相應的代碼 document.addEventListener("webkitfullscreenchange", function() {// if (document.webkitIsFullScreen) { //全屏後要執行的代碼 // console.log("全屏文件 webkitIsFullScreen") $(window).resize(function(){ setTimeout(function(){ window.location.reload(); console.log("全屏文件 webkitIsFullScreen") },1000) }) }else{ //退出全屏後執行的代碼 console.log("退出來了 webkitIsFullScreen") setTimeout(function(){ window.location.reload(); console.log("退出來了 webkitIsFullScreen qwqee") },1000) } }, false); document.addEventListener("fullscreenchange", function() { if (document.fullscreen) { //全屏後執行的代碼 console.log("全屏文件 fullscreen") }else{ //退出全屏後要執行的代碼 console.log("退出來了 fullscreen") } }, false); document.addEventListener("mozfullscreenchange", function() { if (document.mozFullScreen) { //全屏後要執行的代碼 console.log("全屏文件 mozFullScreen") }else{ //退出全屏後要執行的代碼 console.log("退出來了 mozFullScreen") } }, false); document.addEventListener("msfullscreenchange", function() { if (document.msFullscreenElement) { //全屏後要執行的代碼 console.log("全屏文件") }else{ //退出全屏後要執行的代碼 console.log("退出來了") } }, false) } }) </script> </head> <body> <div id="ck_buts"> 時間是 </div> </body> </html>
這是另外一種方式檢測F11按鍵(只能檢測到第一次按下的結果,退出時檢測不到按鍵信息)這個方式可以獲取不同的按鍵,如果不知道按鍵的編碼請自己百度,
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <meta charset="UTF-8"> <TITLE>js 按鍵記錄</TITLE> </HEAD> <BODY> <script type="text/javascript"> var keystring = "";//記錄按鍵的字符串 function $(s) { return document.getElementById(s) ? document.getElementById(s) : s; } function keypress(e) { var currKey = 0, CapsLock = 0, e = e || event; currKey = e.keyCode || e.which || e.charCode; CapsLock = currKey >= 65 && currKey <= 90; switch (currKey) { //屏蔽了退格、製表、回車、空格、方向鍵、刪除鍵 case 8: case 9: case 13: case 32: case 37: case 38: case 39: case 40: case 46: keyName = ""; break; default: keyName = String.fromCharCode(currKey); break; } keystring += keyName; } function keydown(e) { var e = e || event; var currKey = e.keyCode || e.which || e.charCode; if ((currKey > 7 && currKey < 14) || (currKey > 31 && currKey < 47) || (currKey > 121 && currKey < 123)) { switch (currKey) { case 8: keyName = "[退格]"; break; case 9: keyName = "[製表]"; break; case 13: keyName = "[回車]"; break; case 32: keyName = "[空格]"; break; case 33: keyName = "[PageUp]"; break; case 34: keyName = "[PageDown]"; break; case 35: keyName = "[End]"; break; case 36: keyName = "[Home]"; break; case 37: keyName = "[方向鍵左]"; break; case 38: keyName = "[方向鍵上]"; break; case 39: keyName = "[方向鍵右]"; break; case 40: keyName = "[方向鍵下]"; break; case 46: keyName = "[刪除]"; break; case 122: keyName = "[F11]"; break; default: keyName = ""; break; } keystring += keyName; } $("content").innerHTML = keystring; } function keyup(e) { $("content").innerHTML = keystring; } document.onkeypress = keypress; document.onkeydown = keydown; document.onkeyup = keyup; </script> <input type="text" /> <input type="button" value="清空記錄" οnclick="$('content').innerHTML = '';keystring = '';" /> <br />請按下任意鍵查看鍵盤響應鍵值:<span id="content"></span> </BODY> </HTML>