Ce code ne fonctionne pas pour moi dans firefox (V21.0) mais fonctionne dans IE (V9, V10) et Chrome (V 27.0.1453.110 m)
Méthode cal:
<input type="text" id="txt1" class="search-bar-input" onkeyup="handleKeyPress('btn1');">
Méthode de défenition:
function handleKeyPress(searchButtonId) { if (event.keyCode === 13) { alert(event.KeyCode); } }
Message d'erreur:
ReferenceError: event is not defined if (event.keyCode === 13) {
Quelqu'un a-t-il une idée pour résoudre le problème?
Utilisation
<input type="text" id="txt1" class="search-bar-input" onkeyup="handleKeyPress(event, 'btn1');">
alors
function handleKeyPress(event) { event = event || window.event //For IE if (event.keyCode === 13) { alert(event.keyCode); } }
Demo: Fiddle
Vous pouvez stocker le paramètre btn1
comme un attribut btn1
data-*
et utiliser un Javascript discret pour attribuer le gestionnaire d'événements (au lieu de en ligne).
Également votre alert(event.KeyCode);
ligne alert(event.KeyCode);
Est faux, le K
dans KeyPress
devrait être en minuscule k
.
Violon
HTML
<input type="text" id="txt1" class="search-bar-input" data-searchButtonId="btn1" />
Javascript:
function handleKeyPress(event) { if (event.keyCode === 13) { console.log(event.keyCode + this.getAttribute("data-searchButtonId")); } } window.onload = function(){ document.getElementById("txt1").onkeyup = handleKeyPress; }