如何仅在用户在文本区域之外时运行 JQuery 代码



我想仅在用户在文本区域之外时才运行代码:

$(document).on('keydown', function(e){
    if (e.which == 37) {
        mySwiper.swipePrev();
    }
    if (e.which == 39) {
        mySwiper.swipeNext();
    }
});

这是我用来证明用户正在离开文本区域的方法:

$('textarea').bind('blur', function() {
    $(this).css({
        'background-color':'#E18B6B'
    });
});

任何帮助都将是一种快乐。谢谢。

您可以在触发事件之前检查文本区域是否处于焦点中。

$("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();
    }
});

只需确认 event.target 不是文本区域即可。

$(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();
    }
});

相关内容

  • 没有找到相关文章

最新更新