在我的下面的代码中,我遇到的问题是调用focusPosition函数但控制台没有记录所需的字符串:("shift + left/right arrow"
)
// 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);
});
答案 0 :(得分:4)
在which
中查找箭头键,并查找event.shiftKey
是否真实,以了解shift键是否已关闭。这就是修饰符键如何与keydown
事件一起使用(shiftKey
,ctrlKey
,altKey
和metaKey
。< / p>