jQuery - 在firefox中无法正确识别event.keyCode?

时间:2013-03-05 18:27:56

标签: jquery events firefox live keycode

以下代码在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();
};

3 个答案:

答案 0 :(得分:4)

event参数放入:

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

而不是keyCode用户event.which

详细了解 event.which

答案 1 :(得分:1)

您需要声明事件对象。

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

答案 2 :(得分:0)

将事件传递给函数,如下所示:

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

});