在下面的示例中,按下Shift键时会调用searchForward
但是,当按下Shift + Tab键时, searchBackward永远不会被调用。
请建议。
$(document).ready(function() {
$('textarea').live('keydown', function(e) {
// var keyCode = e.keyCode || e.which;
if (e.which == 9 ) {
var currentIndex = getCaret($(e.target).get(0))
searchForward($(e.target), currentIndex);
return false
}
if (e.shiftkey) {
var currentIndex = getCaret($(e.target).get(0))
searchBackward($(e.target), currentIndex);
return false
}
});
});
答案 0 :(得分:0)
在你的第二个if
上,你只是检查换档键,而不是换档和按下键。你需要把你的第二个if循环放在第一个。另外,我相信你的意思是shiftKey
,而不是shiftkey
。 JavaScript区分大小写。请查看更新后的代码段(还在if
之外移动重复代码):JSFiddle
$(document).ready(function() {
$('textarea').live('keydown', function(e) {
var currentIndex = getCaret($(e.target).get(0))
if (e.which == 9 ) {
if (e.shiftKey) {
searchBackward($(e.target), currentIndex);
} else {
searchForward($(e.target), currentIndex);
}
return false
}
});
});
另见JQuery or JavaScript: How determine if shift key being pressed while clicking anchor tag hyperlink?