请不要把我的问题和确定按键的情况混为一谈。我不希望用户按任何键。相反,我想运行一个脚本来触发Escape按键事件。
kyks70gy1#
您可以使用$.Event()创建一个Event对象,其中包含keyCode为27(应该是Esc)的keydown事件,如下所示:
$.Event()
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所说,这可能并不适用于所有浏览器和环境,因为它可能被认为是 * 可疑 * 行为,* 可能 * 以恶意方式使用-就像在<a>上触发外部href**will not happen**的单击事件。我成功地在Chrome,Safari,Opera,FF和IE9中测试了这个(Esc)。
<a>
bxfogqkk2#
出于安全原因,一些浏览器(不确定是否全部)阻止您触发keydown-event。请参阅this article了解更多信息。文章中的一句话:Safari/Chrome将keyCode和charCode属性设置为只读,因此在手动触发事件时无法模拟特定的键。
2条答案
按热度按时间kyks70gy1#
您可以使用
$.Event()
创建一个Event对象,其中包含keyCode为27(应该是Esc)的keydown事件,如下所示:参见**this working demo和docs at jquery.com**
另外请注意,正如Christofer所说,这可能并不适用于所有浏览器和环境,因为它可能被认为是 * 可疑 * 行为,* 可能 * 以恶意方式使用-就像在
<a>
上触发外部href**will not happen**的单击事件。我成功地在Chrome,Safari,Opera,FF和IE9中测试了这个(Esc)。bxfogqkk2#
出于安全原因,一些浏览器(不确定是否全部)阻止您触发keydown-event。请参阅this article了解更多信息。
文章中的一句话:
Safari/Chrome将keyCode和charCode属性设置为只读,因此在手动触发事件时无法模拟特定的键。