2013-03-05 2 views
1

le code ci-dessous fonctionne correctement dans IE et Chrome (dernières versions)jQuery - even.keyCode n'est pas reconnu correctement dans 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(); 
    }; 
}); 

le code effectue au-dessus d'un « cas de recherche en direct sensible » et ne parvient pas à exécuter le morceau de code qui capture la touche backspace dans Firefox:

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

Répondre

4

Mettre l'argument event dans:

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

et au lieu de keyCode utilisateur event.which.

En savoir plus sur event.which

1

Vous devez déclarer l'objet événement.

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

passer l'événement dans la fonction comme ceci:

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

}); 
Questions connexes