过滤器table + 虚拟键盘

Filter table + virtual keyboard

我有一个带有 jquery table 过滤器的页面,它在普通键盘上工作正常,但在虚拟键盘上却不行。

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

如果您在普通键盘上键入数字,它会过滤 table 但如果您使用虚拟键盘,则会显示数字,但过滤器不起作用。

我打赌这很简单,但我无法解决它。

谢谢!

问题是虚拟键盘不会触发keyup事件。我检查了来源,但它确实触发了对输入的关注。

因此你可以简单地做:

$("#search").on('keyup focus', function() { ...

https://jsfiddle.net/e3r76kdc/6/