Javascript Onclick元素模拟Esc键

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

我有以下情况:

当用户单击链接时,应通过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本机支持它。您不能使用
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键关闭