2010-10-08 71 views
3

我想模仿按键按下事件,例如Ctrl + D单击按钮。在按钮单击上执行Ctrl + D

如果有人能指出我如何达到相同的方向,那将是很棒的。

+3

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

回答

1

你不允许这样做。想象一下,如果我可以随意发送CTRL-ALT-DEL,所有的破坏都可能发生。

+1

任何程序,更不用说浏览器,都可以向CSRSS发送“真正的”Ctrl-Alt-Del。 – Hello71 2010-10-09 00:29:53

0

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

正如另一个人说,你不能做任何事情。这是有目的的限制。

但是,假设我在javascript中有一个wysiwyg编辑器,它支持接收ctrl + s和保存,您应该可以自己触发并保存它。

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

1

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

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

NB的是,作为其他的答案都表示,这将是在其影响的限制。您将无法以这种方式影响正常的浏览器功能。

+0

是否有任何代码可以运行并查看结果。我试过Ctrl + S,但即使这样也不起作用 – Sandhurst 2010-10-09 09:26:04

+0

已经更新了一个工作示例。 – lonesomeday 2010-10-09 09:50:13