2016-02-11 1 views
0

Je tente de limiter les caractères qui peuvent être entrés dans une zone de texte en capturant l'événement onkeypress. L'extrait suivant (simplifié) fonctionne très bien dans Google Chrome et Internet Explorer mais pas Firefox:Capture de la valeur keyCode dans Firefox

function CheckKeyPress(e) { 
    alert("Check point #1"); 
    var x = e || window.event; 
    var key = (x.keyCode || x.which); 
    alert("Check point #2"); 
    // do some stuff here 
    return 
} 

Firefox ne déclenche pas la seconde alerte. Pourquoi pas?

Toutes les réponses sont grandement appréciées.

+0

double possible de [jquery objet événement keypress codeTouche pour le problème firefox?] (Http://stackoverflow.com/questions/6869996/jquery-keypress-event- object-keycode-for-firefox-problem) –

+0

Êtes-vous sûr que FF n'empêche pas plusieurs alertes? – Shomz

+0

Comment appelez-vous l'événement? Du gestionnaire en ligne? Des messages d'erreur dans la console? – Teemu

Répondre

0

J'ai trouvé une réponse lors de la recherche d'un autre site. La correction suivante à ma déclaration en ligne pour la zone de texte affectée résolu mon problème:

onkeypress="CheckKeyPress(this,arguments[0] || window.event)" 

Il semble Internet Explorer préfère passer explicite de l'objet window.event tandis que Firefox (et d'autres navigateurs non-IE) préfèrent passer une référence argument .

Merci à tous ceux qui ont contribué une réponse ..