【问题标题】:Press escape key on keyboard with html button使用 html 按钮按键盘上的转义键
【发布时间】:2014-03-29 06:22:48
【问题描述】:

按下时模拟 ESC 键盘键按下的 HTML 按钮。 因此,单击按钮与用户在键盘上按 ESC 键具有相同的效果

如果绝对不可能,请告诉我。

任何方法都可以。

编辑:我不想按 ESC 键来触发某些东西,我想要相反的东西,触发 ESC 键的东西

【问题讨论】:

  • 您有一个正在监听 ESC 键的事件并且您想触发它?是这样吗?
  • 亲爱的你应该仔细阅读这个答案。 stackoverflow.com/questions/9230308/…
  • 按下退出按钮应该做什么?您不能模拟由浏览器或操作系统处理的按键事件,只能模拟由 javascript 本身(或本机事件)处理的按键事件。
  • @Muhammad 我不明白该链接中的代码
  • 你检查过下面的小提琴吗???

标签: javascript jquery html button


【解决方案1】:

试试这个代码

JS

$('body').keydown(function(e){
    if (e.which==27){
        alert("hh");
    }

});

$('#trigger').click(function(){
    var e=$.Event('keydown');
    e.which=27;
    $('body').trigger(e);
});

HTML

<input type="button" id="trigger" value="trigger button" />

DEMO HERE

【讨论】:

    【解决方案2】:

    使用 JQuery,您可以创建 Key Press Event 并将该事件与 Button Click 绑定。喜欢:

    <input type="button" id="esc" value="Esc like button">
    
    
    <script>
    $('body').keydown(function(e) {
        if (e.keyCode == 27) {
            // put your code here if any (that will run after Esc pressed).
            alert('Esc Pressed');
        }    
    });
    
    var e = $.Event("keydown", {
        keyCode: 27
    });
    
    $('#esc').click(function() {
        $("body").trigger(e);
    });
    </script>
    

    Fiddle DEMO

    【讨论】:

      【解决方案3】:

      可以通过创建一个事件实例然后在窗口上调度它来调度键盘事件。

      // following for keyboard key down event for "a"
      const event = new KeyboardEvent('keydown', {code: 'KeyA', key: 'a'})
      window.dispatchEvent(event)
      

      需要注意的一点是,派发的事件在监听时不会是可信事件。

      【讨论】:

        猜你喜欢
        • 2018-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-06
        • 1970-01-01
        • 1970-01-01
        • 2020-02-16
        • 2012-10-21
        相关资源
        最近更新 更多