单击图元模拟Esc键

Onclick element simulate Esc key

本文关键字:Esc 模拟 图元 单击      更新时间:2024-03-01

我有以下情况:

当用户点击链接时,应通过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