2014-04-16 123 views
-3

我试图通过jQuery来模拟Ctrl + Esc的键盘单击,但它不工作。模拟键盘通过jQuery点击

var e=jQuery.Event("keydown",{keyCode:17} && jQuery.Event("keypress",{keyCode:107})); 
jQuery("body").trigger(e); 

任何想法?

+0

你确定语法吗?我不明白{keyCode:17} && jQuery.Event(...) –

+0

的含义我认为这是你正在寻找的:http://stackoverflow.com/a/10125618/3132718 –

+0

顺便说一句,你知道ESC有keyCode 27吗? ;) – urbz

回答

1

This?

var press = jQuery.Event("keypress"); 
press.ctrlKey = true; 
press.which = 27; 
$(document).trigger(press); 

要检查哪些是按键的键码:http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

我得到了这个答案的主要思想:Simulate Keypress With jQuery

你做了什么

var e = 
    jQuery.Event(
     "keydown", {keyCode:17} 
     && 
     jQuery.Event(
     "keypress",{keyCode:107} 
    ) 
    ); 
jQuery("body").trigger(e); 

正如你所看到的,这是一个错误的语法。

+0

是的,这正是我发布我的代码之前所做的,但它不工作? – user3535039

+0

@ user3535039它按预期工作,所以你期待什么?这是我以前的评论的目的。仅供参考,您不能使用JavaScript触发任何本机操作系统行为,幸运的是出于安全目的。看到预期的行为:http://jsfiddle.net/6t8wG/ –

+0

好吧,所以让我们尝试退格前的页面respose仍然不工作...得到这个:var event = jQuery.Event('keypress'); event.which = 8; event.keyCode = 8; jQuery(this).trigger(event); – user3535039