0

下面的代码在 IE 和 Chrome(最新版本)中正常工作

$('#searchBox').keyup(function () {
    var searchTxt = $(this).val();

    // if item contains searchTxt,
    if ($('.item:contains("' + searchTxt + '")')) {
        // hide the items that do NOT contain searchTxt
        $('.item').not(':contains(' + searchTxt + ')').hide();
    };

    // capture backspace
    if (event.keyCode == 8) {
        // show item that contains searchTxt
        $('.item:contains(' + searchTxt + ')').show();
    };

    // if search box is empty, 
    if ($('#searchBox').val() == "") {
        // show all items
        $('.item').show();
    };
});

上面的代码执行“区分大小写的实时搜索”并且无法执行在 Firefox 中捕获退格键的代码块:

// capture backspace
if (event.keyCode == 8) {
    // show item that contains searchTxt
    $('.item:contains(' + searchTxt + ')').show();
};
4

3 回答 3

4

event论据放入:

$('#searchBox').keyup(function (event) { .. });

而不是keyCodeuser event.which

阅读更多关于event.which

于 2013-03-05T18:31:41.970 回答
1

您需要声明事件对象。

$('#searchBox').keyup(function (event) {
于 2013-03-05T18:30:24.500 回答
0

在函数中传递事件,如下所示:

$('#searchBox').keyup(function (event) {

});
于 2013-03-05T18:34:01.203 回答