【问题标题】:Invoke Escape key press event by jquery通过 jquery 调用 Escape 按键事件
【发布时间】:2012-04-21 15:56:14
【问题描述】:

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

【问题讨论】:

    标签: jquery keypress


    【解决方案1】:

    您可以使用$.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 demodocs at jquery.com

    还请注意,正如 Christofer 所说,这可能不适用于所有浏览器和环境,因为它可能被视为可疑行为,可能用于恶意方式 - 就像在带有外部 href will not happen<a> 上触发点击事件一样。不过,我在 Chrome、Safari、Opera、FF 和 IE9 中成功测试了这个(Esc)。

    【讨论】:

    • @m90,我们如何在 Angular 中做同样的事情?
    • @m90 我们如何在核心 Javascript 而不是 jQuery 中做同样的事情?
    【解决方案2】:

    出于安全原因,某些浏览器(不确定是否全部)会阻止您触发 keydown 事件。更多信息请参考this article

    引用文章:

    Safari/Chrome 将 keyCode 和 charCode 属性设为只读,因此 手动触发时无法模拟特定键 事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-08
      • 1970-01-01
      相关资源
      最近更新 更多