通过jquery调用Escape键按事件

时间:2012-04-09 07:56:57

标签: jquery keypress

我想澄清我的问题。请不要把它与决定按键混淆。 我不希望用户按任何键。相反,我想运行一个脚本来触发Escape键按下事件。 请帮忙!

2 个答案:

答案 0 :(得分:34)

您可以使用$.Event()创建一个包含keydown事件的Event对象,其keyCode为27(应该是Esc),如:

var esc = $.Event("keydown", { keyCode: 27 });
$("body").trigger(esc); // change body to the element where you'd like to execute the escape key press.

参见 this working demo docs at jquery.com

另请注意,正如Christofer所述,这可能不适用于所有浏览器和环境,因为它可能被视为阴暗行为可以在恶意中使用方式 - 就像使用外部href will not happen 触发<a>上的点击事件一样。我在Chrome,Safari,Opera,FF&amp; amp;成功测试了这个(Esc)。 IE9虽然。

答案 1 :(得分:8)

出于安全原因,某些浏览器(不确定是否全部)会阻止您发起keydown事件。有关详细信息,请参阅this article

文章引用:

  

Safari / Chrome使keyCode和charCode属性为只读,所以   手动触发时无法模拟特定键   事件