Javascript 如何创建一个仅在';班次+;左/右箭头';按键同时按下?
在下面的代码中,我遇到的问题是调用了focusPosition函数,但控制台没有记录所需的字符串:(Javascript 如何创建一个仅在';班次+;左/右箭头';按键同时按下?,javascript,jquery,html,Javascript,Jquery,Html,在下面的代码中,我遇到的问题是调用了focusPosition函数,但控制台没有记录所需的字符串:(“shift+左/右箭头”) //保持对当前焦点位置的引用 var currentPosition=0; //我们可以导航到的最大位置是摘要列表中的最后一项 var maxFocusablePosition=summaryList.length-1; //聚焦给定位置值的实用函数 功能焦点位置(位置){ log(“调用焦点位置”); $('#'+summaryList[position]).foc
“shift+左/右箭头”
)
//保持对当前焦点位置的引用
var currentPosition=0;
//我们可以导航到的最大位置是摘要列表中的最后一项
var maxFocusablePosition=summaryList.length-1;
//聚焦给定位置值的实用函数
功能焦点位置(位置){
log(“调用焦点位置”);
$('#'+summaryList[position]).focus();
};
//默认情况下聚焦第一个
焦点位置(当前位置);
$(文档).keydown(函数(事件){
如果(event.which==37&&event.which==16){
currentPosition=(currentPosition>0)?parseInt(currentPosition)-1:maxFocusablePosition;
console.log('shift+left');
}
if(event.which==39&&event.which==16){
currentPosition=(currentPosition
在中查找箭头键,然后查找事件。shiftKey
是真实的,可以知道shift键是否已按下。这就是修改键如何与keydown
事件(有shiftKey
,ctrlKey
,altKey
,和metaKey
)一起工作。在中查找箭头键,然后查找事件。shiftKey
真实地知道shift键是否已按下。这就是修改键与keydown
事件(有shiftKey
,ctrlKey
,altKey
,和metaKey
)一起工作的方式
// Hold reference to the currently focused position
var currentPosition = 0;
// Maximum position we can navigate to is the last item in the summary list
var maxFocusablePosition = summaryList.length - 1;
// Utility function to focus a given position value
function focusPosition(position) {
console.log("focus position is called");
$('#' + summaryList[position]).focus();
};
// Focus the first one by default
focusPosition(currentPosition);
$(document).keydown(function (event) {
if (event.which === 37 && event.which === 16) {
currentPosition = (currentPosition > 0) ? parseInt(currentPosition) - 1 : maxFocusablePosition;
console.log(' shift + left');
}
if (event.which === 39 && event.which === 16) {
currentPosition = (currentPosition < maxFocusablePosition) ? parseInt(currentPosition) + 1 : 0;
console.log('shift + right');
}
focusPosition(currentPosition);
});