我想仅在用户位于textarea之外时才运行代码:
$(document).on('keydown', function(e){
if (e.which == 37) {
mySwiper.swipePrev();
}
if (e.which == 39) {
mySwiper.swipeNext();
}
});
这是我用来证明用户离开textarea的地方:
$('textarea').bind('blur', function() {
$(this).css({
'background-color':'#E18B6B'
});
});
任何帮助都将是一种快乐。谢谢。
答案 0 :(得分:1)
如果文本区域处于焦点,您可以在触发事件之前进行检查。
$("textarea").is(":focus");
扩展您的代码:
$(document).on('keydown', function(e){
if (e.which == 37 && !$("textarea").is(":focus")) {
mySwiper.swipePrev();
}
if (e.which == 39 && !$("textarea").is(":focus")) {
mySwiper.swipeNext();
}
});
答案 1 :(得分:1)
只需确认event.target不是textarea。
$(document).on('keydown', function(e){
if ( $(e.target).is("textarea") ) {
return; // exit early
}
if (e.which == 37) {
mySwiper.swipePrev();
}
if (e.which == 39) {
mySwiper.swipeNext();
}
});