【发布时间】:2012-04-21 15:56:14
【问题描述】:
我想把我的问题说清楚。请不要将其与确定按键混淆。 我不希望用户按任何键。相反,我想运行一个触发 Escape 按键事件的脚本。 请帮忙!
【问题讨论】:
我想把我的问题说清楚。请不要将其与确定按键混淆。 我不希望用户按任何键。相反,我想运行一个触发 Escape 按键事件的脚本。 请帮忙!
【问题讨论】:
您可以使用$.Event() 创建一个 Event 对象,其中包含一个 keyCode 为 27(应该是 Esc)的 keydown 事件,例如:
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 和 IE9 中成功测试了这个(Esc)。
【讨论】:
出于安全原因,某些浏览器(不确定是否全部)会阻止您触发 keydown 事件。更多信息请参考this article。
引用文章:
Safari/Chrome 将 keyCode 和 charCode 属性设为只读,因此 手动触发时无法模拟特定键 事件。
【讨论】: