2013-03-05 3 views
1

ниже код работает правильно в IE и Chrome (последние версии)jQuery - even.keyCode не распознается правильно в firefox?

$('#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(); 
    }; 
}); 

код выше выполняет «случай чувствительный живой поиск» и не в состоянии выполнить фрагмент кода, который фиксирует клавишу возврата в светлячок:

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

ответ

4

Помещенный event аргумент в:

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

и вместо keyCode пользователь event.which.

Подробнее о event.which

1

Вам необходимо объявить объект события.

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

Пропустите событие в функции так:

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

});