Javascript Onclick元素模拟Esc键
我有以下情况: 当用户单击链接时,应通过Javascript触发Esc键。 为了更好地解释,我有以下几点 迄今为止的代码: 1.我创建了一个函数:Javascript Onclick元素模拟Esc键,javascript,jquery,function,esc-key,Javascript,Jquery,Function,Esc Key,我有以下情况: 当用户单击链接时,应通过Javascript触发Esc键。 为了更好地解释,我有以下几点 迄今为止的代码: 1.我创建了一个函数: //my function function invokeEscKey() { var ev = document.createEvent('KeyboardEvent'); ev.initKeyEvent( 'keydown', true, true, window, false, false, false, fal
//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本机支持它。您不能使用
ESC
键发送系统级键盘事件以关闭全屏模式,或者,例如,使用F1
启动系统帮助
相反,您可以使用主要浏览器支持的全屏API:
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
更多:事件挂钩是否正在侦听连接到
主体
元素的ESC按键,而没有任何东西阻止其传播?您试图做什么?关闭一些对话框?为什么不在js中关闭它,而不是模拟escape按键?@AleksandrM我添加了一些解释性文字,原因是(上面的文字)问题似乎是选择的键,在Chrome 40 Ubuntu全屏模式下,只能用F11键关闭,不能用ESC键关闭