jquery - 按下 CTRL、SHIFT 等时,按键功能仍会触发淡入淡出
问题描述
我有一个加载覆盖,我希望它用 CTRL 和 SHIFT 等触发 NOT。我不知道为什么会发生这种情况。当我 ALT-TAB 回到网站时它也会触发。这不是我想看到的,也不是客户。此外,当我点击 DELETE 时,它会触发覆盖。只有当输入为空时才可以。
另外我注意到,如果我将注意力集中在另一个搜索栏内,它也会在我在#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 () {
推荐阅读
- javascript - ReactJS 上下文 - 消费者内部的条件
- powershell - Powershell - 在 Gridview 之后设置 ADUser
- java - google-cloud-translate 是否有一个 JAR 可以用 ANT 编译,而不是处理 40 多个单独的 JAR?
- java - 与单个通用对象相比的通用对象列表
- sql - 如何删除 SQL 输出中的特殊字符
- javascript - 如何用 javascript 将 GET 参数中的加号 (+) 替换为空格 ()
- java - JavaFX ListView 长按
- python - 根据内容过滤字符串列表时出错 - python
- angular - Angular 5 - 数据未显示在模板中
- c# - 异常处理、错误消息和 i18n