利用html5 提供的api 實作全屏模式,怎么監聽esc按鍵,onkeydown監聽不到esc按鍵,求大神指導
uj5u.com熱心網友回復:
不是有鍵盤事件的嗎 比如enter 不知道有沒有escuj5u.com熱心網友回復:
所有按鍵都能監聽除了escuj5u.com熱心網友回復:
$(function(){
$(window).keydown(function (event) {
if (event.keyCode == 27) {
alert("執行退出全屏操作...");
}
});
});
這樣寫,我測驗是可以的哦~~
uj5u.com熱心網友回復:
瀏覽器故意不上監聽ESC鍵的,跟網頁加載完成之后不能用程式使瀏覽器全屏一樣的道理,避免開發者惡意全屏,不啰嗦,解決辦法如下:window.onresize = function(){
if(!checkFull()){
//要執行的動作
}
}
function checkFull(){
var isFull = document.fullscreenEnabled || window.fullScreen || document.webkitIsFullScreen || document.msFullscreenEnabled;
//to fix : false || undefined == undefined
if(isFull === undefined) isFull = false;
return isFull;
}
uj5u.com熱心網友回復:
怎么就沒有Esc,有沒有認真找過,在這兒誤導別人。按鍵 鍵碼 按鍵 鍵碼 按鍵 鍵碼 按鍵 鍵碼
BackSpace 8 Esc 27 Right Arrow 39 -_ 189
Tab 9 Spacebar 32 Dw Arrow 40 .> 190
Clear 12 Page Up 33 Insert 45 /? 191
Enter 13 Page Down 34 Delete 46 `~ 192
Shift 16 End 35 Num Lock 144 [{ 219
Control 17 Home 36 ;: 186 | 220
Alt 18 Left Arrow 37 =+ 187 ]} 221
Cape Lock 20 Up Arrow 38 ,< 188 '" 222
//監聽鍵盤按鍵事件
//監聽鍵盤按鍵事件
$(document).keypress(function (event) {
var code = (event.keyCode ? event.keyCode : event.which);
if ( myPlayer != "" && (code == 13 || code == 32)){
if(myPlayer.paused()){
myPlayer.play();
}else{
myPlayer.pause();
}
}
});
有的瀏覽器是event.which
var code = (event.keyCode ? event.keyCode : event.which); 這樣獲得的code是兼容瀏覽器的
uj5u.com熱心網友回復:
6樓正解 成功解決了折磨了我兩天的問題uj5u.com熱心網友回復:
7樓的大佬。老師沒說過做題目之前要仔細審題么uj5u.com熱心網友回復:
9樓說的對呀uj5u.com熱心網友回復:
為什么要監聽esc?如果是要監聽退出全屏應該是
function fullscreenchange() {
var isFull = document.fullscreenEnabled || window.fullScreen || document.webkitIsFullScreen || document.msFullscreenEnabled;
if (!isFull) {
alert("你退出了全屏");
}
}
document.addEventListener("fullscreenchange", fullscreenchange);
document.addEventListener("mozfullscreenchange", fullscreenchange);
document.addEventListener("webkitfullscreenchange", fullscreenchange);
document.addEventListener("msfullscreenchange", fullscreenchange);
uj5u.com熱心網友回復:
不是沒有ESC 而是 當你全屏狀態的時候 按esc 他可以推出全屏模式 但是你自己設定的監聽 在這個時候是不好用的 應該系統占用或或是截獲了你定義的時間 使他不能夠執行 推出全屏之后 你在按ESC 就可以執行 你定義的東西 所以我也在考慮這里該怎么修改uj5u.com熱心網友回復:
@@@@@胡同君此問題您解決沒啊
不是沒有ESC 而是 當你全屏狀態的時候 按esc 他可以推出全屏模式 但是你自己設定的監聽 在這個時候是不好用的 應該系統占用或或是截獲了你定義的時間 使他不能夠執行 推出全屏之后 你在按ESC 就可以執行 你定義的東西 所以我也在考慮這里該怎么修改
uj5u.com熱心網友回復:
同樣的話送給你,誤人子弟,你好好看看再來說吧!ESC鍵是有code碼 但是首先是執行系統的操作然后才是html,這樣是為了防止盜鏈惡意全屏導致無法關系的情況~轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/129856.html
標籤:HTML5
