【发布时间】:2015-02-20 11:26:50
【问题描述】:
我有以下情况:
当用户点击一个链接时,应该通过 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 键来完成。我希望这能自动完成。
【问题讨论】:
-
事件挂钩是否监听附加到
body元素的 ESC 按键,没有任何东西阻止传播? -
你想做什么?关闭一些对话框?为什么不在js中关闭而不是模拟escape按键呢?
-
@AleksandrM 我添加了一些解释性文字说明原因(以上文字)
-
问题似乎是选择的键,在 Chrome 40 Ubuntu 全屏模式下只能用 F11 键关闭,而不是 ESC
标签: javascript jquery function esc-key