2014-04-16 161 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