2013-03-15 3 views
-1

J'ai un ASP: TextBox sur ma page et je voudrais détecter la touche d'entrée pour appeler une fonction javascript. Voilà ce que j'ai:entrer la touche javascript de la fonction d'appel pressé

Codebehind

txtSearch.Attributes.Add("OnKeyPress", "ProcessKeyPressed()") 

page ASPX

function ProcessKeyPressed() { 
    if (event.keyCode == 13 || event.keyCode == 10) { 
     Search(); 
    } 
} 

Cela fonctionne en chrome et IE, mais pas dans Firefox ... aucune idée pourquoi cela pourrait être le cas?

Merci à l'avance,

+0

Ne fonctionne pas comment? Est-ce que la fonction ProcessKeyPressed n'est pas appelée du tout? Y a-t-il une erreur? Avez-vous utilisé la console JavaScript Firefox ou Firebug pour vérifier les erreurs? –

+0

duplication possible de [événement onKeyPress ne fonctionne pas dans Firefox] (http://stackoverflow.com/questions/4496910/onkeypress-event-not-working-in-firefox) (vous devriez vérifier la deuxième réponse) – tpeczek

+0

Yep vous êtes droite tpeczek, ma question est pour ce même problème. Merci pour l'aide. – user1839862

Répondre

2

Essayez:

function ProcessKeyPressed(event) { 
    if (event.keyCode == 13 || event.keyCode == 10) { 
     Search(); 
    } 
} 

Voir ici pour plus d'informations: window.event.keyCode how to do it on Firefox?

+0

J'ai essayé la même chose mais ne fonctionne pas sur le contrôle personnalisé. Mon code est ----- et Fonction sur aspx ... function ProcessKeyPressed (event) { if (event.keyCode == 13 || événement.keyCode == 10) { Recherche(); } } –

1

code derrière:

txtSearch.Attributes.Add("OnKeyPress", "ProcessKeyPressed(event || window.event)") 

Et JS:

function ProcessKeyPressed(event) { 
    if (event.keyCode == 13 || event.keyCode == 10) { 
     Search(); 
    } 
} 

Basé sur this

Demo

0

Vous pouvez essayer cette

function ProcessKeyPressed(e) { 
    var event = e || window.event; 
    var key = event.charCode || event.keyCode 
    if (key == 13 || key == 10) { 
     Search(); 
    } 
} 
Questions connexes