我想澄清我的问题。请不要把它与决定按键混淆。 我不希望用户按任何键。相反,我想运行一个脚本来触发Escape键按下事件。 请帮忙!
答案 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属性为只读,所以 手动触发时无法模拟特定键 事件