我有以下情况:
当用户点击链接时,应通过Javascript触发Esc键。为了更好地解释,我有以下内容到目前为止的代码:
1.我创建了一个函数:
//my function
function invokeEscKey() {
var ev = document.createEvent('KeyboardEvent');
ev.initKeyEvent(
'keydown', true, true, window, false, false, false, false, 27, 0);
document.body.dispatchEvent(ev);
}
也在jQuery:中尝试过
//my function
function invokeEscKey() {
jQuery.event.trigger({
type : 'keypress',
which : 27
});
}
2.当用户点击href时,函数应该被调用:
$(function() {
$('a.close').click(function() {
//call this function to simulate ESC key press
invokeEscKey();
});
});
但这根本不起作用。我的问题是,解决这个问题的最佳方法是什么?
注意:我问这个问题的原因是因为我有一个弹出窗口,F11键(全屏模式)被激活。当用户单击关闭按钮时,必须撤消F11,这通常通过按下ESC键来完成。我希望这能自动完成。
JavaScript无法从浏览器窗口触发操作系统级别的事件,除非浏览器通过特殊功能或API本机支持JavaScript。您不能用ESC
键发送系统级键盘事件以关闭全屏模式,或者用F1
启动系统帮助。
相反,你可以使用全屏幕API,这是主要浏览器支持的:
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
更多:http://www.paulund.co.uk/javascript-full-screen-api