[英]How to simulate a key press by pressing a different key
當我開始在Wordpress搜索插件上輸入內容時,我想隱藏搜索輸入下方顯示的“建議”選項列表,我需要具體的是當我按下“刪除”鍵時觸發“Escape”鍵事件,我嘗試了以下jquery函數,但它沒有像我預期的那樣工作。
$('form.search-form').keydown(function (e) {
// keycode for Delete key
if (e.keyCode == 46) {
var a = $.Event("keydown");
// keycode for Esc key
a.which = 27;
a.keyCode = 27;
$(document).trigger(a);
}});
有幫助嗎? 提前致謝
按下刪除鍵時,將keyCode
更改為esc
鍵,然后使用trigger
模擬按下esc
。
$('input').keydown(function (e) {
// keycode for delete
if (e.keyCode == 46) {
console.log('delete key pressed.');
e.keyCode = 27;
$(this.target).trigger(e);
}
});
$('input').keydown(function (e) {
// keycode for esc
if (e.keyCode == 27) {
console.log('esc key pressed.');
}
});
你的問題是X / Y問題 。 您不需要觸發另一個keydown事件,您只需要重復相同的功能,因此將esc
事件的代碼提取到函數中並在del
key的事件中重用。 現場演示(點擊)。
$('input').keydown(function (e) {
// keycode for delete
if (e.keyCode == 46) {
myFunction(e);
}
});
$('input').keydown(function (e) {
// keycode for esc
if (e.keyCode == 27) {
myFunction(e);
}
});
function myFunction() {
alert('Look, Ma! Code reuse!');
}
$('input').keydown(function (e) { // keycodes for delete and esc if (e.keyCode == 46 || e.keyCode == 27) { myFunction(e); } }); function myFunction() { alert('Look, Ma! Code optimization!'); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.