我有以下情况:
当用户点击链接时,应通过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键来完成。我希望这是自动完成的。
答案 0 :(得分:0)
JavaScript不能从浏览器窗口触发操作系统级事件,除非浏览器通过特殊功能或API本机支持它。您无法使用ESC
键发送系统级键盘事件来关闭全屏模式,或者使用F1
启动系统帮助。
相反,您可以使用主流浏览器支持的Fullscreen API:
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}