使用JavaScript使用箭头键以编程方式模拟按键按下事件
我正在尝试使用箭头键模拟与Enter相同的行为。我使用的是APEX交互式网格,我已经能够让ArrowDown键映射到Enter键。我需要能够为ArrowUp键执行相同的操作,但我需要它表现为Shift-Enter,而不是Enter。没有一个键,因为它是13(回车)和Shift(16)的组合 这是我的ArrowDown代码。知道如何模拟移位输入吗使用JavaScript使用箭头键以编程方式模拟按键按下事件,javascript,Javascript,我正在尝试使用箭头键模拟与Enter相同的行为。我使用的是APEX交互式网格,我已经能够让ArrowDown键映射到Enter键。我需要能够为ArrowUp键执行相同的操作,但我需要它表现为Shift-Enter,而不是Enter。没有一个键,因为它是13(回车)和Shift(16)的组合 这是我的ArrowDown代码。知道如何模拟移位输入吗 $("#source").keydown(function(e) { if (e.key === 'ArrowDown')
$("#source").keydown(function(e) {
if (e.key === 'ArrowDown') {
e.preventDefault();
var e = jQuery.Event("keydown");
e.which = 13
$('#source').trigger(e);
}
});
Check.shiftKey返回一个布尔值,指示是否按下该键。在开关周围放置此条件将防止发生任何事件,除非在按住shift键的同时按下该键
document.onkeydown = function(evt){
evt = evt || window.event;
if(evt.shiftKey){
switch (evt.keyCode){
case 67:
createNewFile();
break;
case 82:
goToRecords();
break;
case 84:
goToToday();
break;
case 36:
goToMsHome();
break;
case 27:
escToCloseOptions();
break;
case 83:
summary();
break;
case 73:
insertRecord();
break;
}
}
};
谢谢你,菲利佩。我相信这样做将捕获Shift键和Enter键的组合。然而,当我按下向上箭头(40)时,我真的在说do,Shift-Enter?你试过了吗?document.onkeydown=function(evt){evt=evt | | | window.event;if(evt.shiftKey){switch(evt.keyCode){case 40:console.log('shift+arrowdown');break;}};我相信这会奏效。下面是我最后做的:$(“#source”).keydown(函数(e){if(e.key=='ArrowUp'){e.preventDefault();var e=jQuery.Event(“keydown”);e.which=13 e.shiftKey=true;$('#source').trigger(e);});