【问题标题】:Execute onclick of ESC Key执行 ESC 键的 onclick
【发布时间】:2011-06-20 17:51:51
【问题描述】:

简单地说,我的问题是我想通过一行Javascript来执行Esc按钮的效果,例如执行Esc的效果onclick按钮。 我该怎么做?

[我有一个jQuery盒子上传,所以我希望上传完成后,自动执行转义函数以关闭盒子]

【问题讨论】:

  • 这个库声称能够触发关键事件。 jupiterjs.com/news/syn-a-standalone-synthetic-event-library 它说你应该可以打电话给:Syn.type('[escape]');
  • 感谢您的回复,但请查看编辑。
  • 没有可以调用关闭对话框的方法吗?
  • @HAMZA 您能否告诉我们所选答案有何帮助?对我来说,这个问题肯定是关于emulating a key stroke(尤其是esc 键),而@Nathan 的答案是捕获 esc 键,因此需要用户手动输入它。接受的答案应该是@Juan 的答案。要么,要么 OP 完全问错了问题!
  • @bPratik 如果您在接受的答案下看到我的评论,则该答案可能不起作用,因为它依赖于侦听 escapeKeyPressed 事件的其他代码。我相信 OP 只是想知道如何关闭对话框,而 Nathan 的评论 ($('#myDialog').trigger('dialogClose')) 向 OP 展示了如何做到这一点。

标签: javascript jquery jquery-events esc-key


【解决方案1】:

我知道这是一个老问题。但是,如果有人在这里搜索,它可能会有所帮助:

首先,在所需元素(或文档)上触发事件,

$('a[name=close]').click(function(){
    var e = jQuery.Event("keyup"); // or keypress/keydown
    e.keyCode = 27; // for Esc
    $(document).trigger(e); // trigger it on document
});

然后,在文档上有一个 keyup 监听器:

// Esc key action
$(document).keyup(function(e) {
    if (e.keyCode == 27) { // Esc
        window.close(); // or whatever you want
    }
});

【讨论】:

    【解决方案2】:

    此代码适用于我

    $(document).keyup(function(e) {     
        if(e.keyCode== 27) {
            alert('Esc key is press');  
        } 
    });
    

    【讨论】:

    • 这是检测,而不是模拟按键。
    猜你喜欢
    • 1970-01-01
    • 2022-07-12
    • 1970-01-01
    • 2022-07-25
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多