2012-04-09 62 views
10

我想讓我的問題清楚。請不要將它與確定按鍵相混淆。 我不希望用戶按任何鍵。相反,我想運行一個腳本來觸發Esc鍵按下事件。 請幫忙!通過jquery調用Esc鍵按下事件

回答

24

可以使用$.Event()創建包含與27鍵代碼(這應該是Esc鍵)一個keydown事件等的事件對象:

var esc = $.Event("keydown", { keyCode: 27 }); 
$("body").trigger(esc); // change body to the element where you'd like to execute the escape key press. 

參見this working demodocs at jquery.com

另請注意,正如Christofer所述,這可能不適用於所有瀏覽器和環境,因爲它可能被認爲是陰影行爲可能以惡意方式使用 - 就像在外部觸發<a>上的點擊事件一樣,使用外部href will not happen。我成功地在Chrome,Safari,Opera,FF & IE9中測試了這個(Esc)。

+0

這是迄今爲止最好的解決方案! – Khateeb321 2018-01-25 07:18:54

7

出於安全原因,某些瀏覽器(不知道是否全部)阻止您發起keydown事件。有關更多信息,請參閱this article

從文章引述:

Safari /鉻使得只讀的鍵碼,則charCode屬性,所以 它是不可能模擬特定按鍵手動射擊 事件時。

+0

謝謝Christofer – Lakshay 2012-04-10 06:46:51