我想使用javascript或jquery触发键盘的f11事件,谁能告诉我该怎么做?
你无法让人们的计算机通过 JavaScript 来输入内容。它违反了浏览器的沙箱环境。我假设您正在尝试使窗口全屏显示。这个问题涵盖了这一点。
我正在使用此代码:
function go_full_screen(){
var elem = document.documentElement;
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.msRequestFullscreen) {
elem.msRequestFullscreen();
} else if (elem.mozRequestFullScreen) {
elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) {
elem.webkitRequestFullscreen();
}
}
<a href="#" onClick="go_full_screen();">Full Screen / Compress Screen</a>
<script>
function toggleFullscreen() {
var isFullscreen = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || false;
if (isFullscreen) {
exitFullscreen();
} else {
enterFullscreen();
}
}
function enterFullscreen() {
var element = document.documentElement;
if (element.requestFullscreen) {
element.requestFullscreen();
} else if (element.webkitRequestFullscreen) {
element.webkitRequestFullscreen();
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
}
}
function exitFullscreen() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
}
}
document.getElementById("toggleButton").addEventListener("click", toggleFullscreen);
</script>
要像键盘一样触发F11键的事件按键,我们需要这个..
在任何事件上调用此函数..
function mKeyF11(){
var e = new Event('keypress');
e.which = 122; // Character F11 equivalent.
e.altKey=false;
e.ctrlKey=false;
e.shiftKey=false;
e.metaKey=false;
e.bubbles=true;
document.dispatchEvent(e);
}
这是纯Javascript函数,不需要jQuery支持..
更新:Chrome 阻止 JavaScript 按键。 来源
对于 chrome,我们可以使用以下内容。
if (document.documentElement.webkitRequestFullscreen) {
document.documentElement.webkitRequestFullscreen();
}
工作代码示例:
document.addEventListener("keyup", keyUpTextField, false);
function keyUpTextField (e)
{
var keyCode = e.keyCode;
if(keyCode==122){/*ejecutaAlgo*/}
}