我有一个带有jquery表过滤器的页面,它可以使用常规键盘,但不能使用虚拟键盘。
检查JSFiddle以查看我的意思,下面是过滤函数的代码。
https://jsfiddle.net/e3r76kdc/5/
$("#search").keyup(function(){
_this = this;
// Show only matching TR, hide rest of them
$.each($("#table tbody").find("tr"), function() {
console.log($(this).text());
if($(this).text().toLowerCase().indexOf($(_this).val().toLowerCase()) == -1)
$(this).hide();
else
$(this).show();
});
});
如果您在常规键盘上键入数字,它会过滤表格,但如果您使用虚拟键盘,则会显示数字,但过滤器不起作用。
我敢打赌,这很简单,但我无法解决它。
谢谢!
答案 0 :(得分:1)
问题是虚拟键盘不会触发keyup
事件。我检查了源,但确实触发了对输入的关注。
因此你可以做到:
$("#search").on('keyup focus', function() { ...