当按下 CTRL、SHIFT 等时,按键功能仍然会触发淡入淡出

Keypress function still triggers fade in fade out when pressing CTRL,SHIFT etc

我有一个加载叠加层,我希望它不通过 CTRL 和 SHIFT 等触发。我不知道为什么会这样。当我 ALT-TAB 返回网站时,它也会触发。这不是我想看到的,也不是客户。此外,当我点击删除时,它会触发覆盖。只有当输入为空时才可以。

我还注意到,如果我将焦点放在另一个搜索栏中,它也会在我在 #keywords 输入中搜索后触发叠加效果。

    $("#keywords").keypress(function(){
// Show loading overlay when ajax request starts
$( document ).ajaxStart(function() {
$('.loading-overlay').fadeIn("fast");
  // $('.loading-overlay').show();
});

// Hide loading overlay when ajax request completes
$( document ).ajaxStop(function() {
$('.loading-overlay').fadeOut("fast");
  // $('.loading-overlay').hide();
});
});

这里出了什么问题?

感谢您的宝贵时间。

使用以下代码修复了它:

      if($('#keywords').val().length > 0) {
      $('.loading-overlay').fadeIn("fast");
    } else {
        $('.loading-overlay').hide();
    }

如果输入长度大于零,它将淡入,如果长度为零(否则),它将隐藏。

我把这个放在 AJAX beforeSend: function () {