Javascript keyup是我应该使用的吗?
我正在使用Javascript keyup是我应该使用的吗?,javascript,jquery,Javascript,Jquery,我正在使用keyup事件处理程序并过滤一些元素。当没有包含我正在搜索的内容的元素时,我会显示一条没有结果的消息,并在有结果时将其删除。除了在这种情况下,这一切都很正常: 键入没有任何结果的内容。现在按住“backspace”快速删除字符。“无结果”仍然显示。似乎是时间问题,或者我不应该使用keyup。有什么想法吗 这是一个密码笔: 我认为这可能是关键: $(“#过滤器”).keyup(函数(){ var selectSize=$(this.val(); 过滤器(选择大小); });您的其他部分
keyup
事件处理程序并过滤一些元素。当没有包含我正在搜索的内容的元素时,我会显示一条没有结果的消息,并在有结果时将其删除。除了在这种情况下,这一切都很正常:
键入没有任何结果的内容。现在按住“backspace”快速删除字符。“无结果”仍然显示。似乎是时间问题,或者我不应该使用keyup
。有什么想法吗
这是一个密码笔:
我认为这可能是关键:
$(“#过滤器”).keyup(函数(){
var selectSize=$(this.val();
过滤器(选择大小);
});代码>您的其他
部分应如下所示:(参见带注释的行//这是一个更改)。有人说,若搜索框中并没有值,“并没有结果”应该被隐藏
function filter(e) {
var numVisible = 0;
var addCard = $('.ourTeamCards');
if(e) {
var regex = new RegExp('\\b\\w*' + e + '\\w*\\b', 'i');
$('.oneStaff').fadeOut(50).filter(function () {
var regExists = regex.test($(this).data('regions'));
if(regExists) {
numVisible +=1;
}
return regExists;
}).fadeIn(50);
if (numVisible == 0 && e) {
$('.noResults').css('display', 'block');
}
else {
$('.noResults').css('display', 'none');
}
}
else {
$('.oneStaff').fadeIn(50);
$('.noResults').css('display', 'none'); //THIS IS A CHANGE
}
}
我对提取文本框值的方式做了一些更改。试试看,让我知道
这也将识别退格,因此它将有助于执行您想要的操作。我并没有机会看完整的代码,但在一开始就发现了这一点,所以分享给你们的建议
$("#filter").keyup(function(e) {
var selectSize = e.target.value;
console.log(selectSize)
filter(selectSize);
});
干杯 我会使用input
而不是keyup。Keyup将为任何Keyup触发,包括箭头键或其他不改变值的键<代码>输入
仅当值更改时才会激发。请尝试在keyup事件中设置一个短超时。此操作非常有效。谢谢你,非常感谢你抽出时间。