【问题标题】:Execute Ctrl+D on button click单击按钮时执行 Ctrl+D
【发布时间】:2010-10-08 21:59:48
【问题描述】:

我正在尝试模拟按键事件,例如单击按钮时的 Ctrl+D。

如果有人可以为我指出如何实现相同目标的正确方向,那就太好了。

【问题讨论】:

  • 您的问题真的是关于模仿按键,还是在浏览器中触发“添加书签”功能的实际目标? (提示:我的浏览器没有任何绑定到 Ctrl+D 的功能)。

标签: javascript jquery keypress


【解决方案1】:

你不能这样做。想象一下,如果我可以随意发送 CTRL-ALT-DEL 会造成多大的破坏。

【讨论】:

  • 没有任何程序,更不用说浏览器,可以向 CSRSS 发送“真正的”Ctrl-Alt-Del。
【解决方案2】:

触发自定义事件(本例中为Ctrl+d)的代码如下:

var evt = jQuery.Event("keypress");
evt.keyCode = 100; // d
evt.ctrlKey = true;
$(document).trigger(evt);

请注意,正如其他答案所说,这将受到限制。您将无法以这种方式影响正常的浏览器功能。

【讨论】:

  • 是否有任何代码可以运行并查看结果。我试过 Ctrl+S 但还是不行
【解决方案3】:

这将是“触发事件”,尽管我将把练习留给你来找到正确的代码。

正如另一个人所说,你不能用它做任何事情。它是有意限制的。

但是,假设我有一个 javascript 中的所见即所得编辑器,它支持接收 ctrl+s 并保存,您应该能够自己触发并保存它。

最后,这是一个上下文(焦点)问题,有时会失败(再次,有目的地)。

【讨论】:

    【解决方案4】:

    这将触发ctrl+d

    function btnClick(){
        document.dispatchEvent(new KeyboardEvent('keydown', {'key': 'd', 'ctrlKey': true}));   
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      • 2021-06-14
      • 2021-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多