2017-02-27 3 views
3

Ich habe ein Problem mit einer wirklich einfachen Funktion, die versucht, zu schießen, wenn ein Textfeld ändert. Dies scheint eine häufig gestellte Frage zu sein, aber die meiste Zeit scheint sich um das Top $ (Dokument) zu drehen, das bereits fehlt.JQuery Bei Änderung, keyup nicht feuernd

aber dies stampft mich. Ich habe eine Reihe von anderen JQuery-Elementen richtig ausgelöst, aber das scheint nicht zu wollen. Irgendwelche Ideen Jungs?

detection: <input type="text" placeholder="detect value" name="txt_detection" id="txt_detection"> 
$(document).ready(function() { 
    $('#txt_detection').on('change, keyup', function(){ 
    alert "oops!"; 
    }); 
}); 

Ich habe es in einer Geige zu: https://jsfiddle.net/hzmjjzd9/

Jede Hilfe dankbar empfangen.

Antwort

3

Sie haben zwei Probleme in Ihrem Code. Erstens on() akzeptiert jedes Ereignis in einer einzigen Zeichenfolge, die Speicherplatz ist begrenzt, nicht durch Kommas getrennt. Zweitens fehlen die Klammern beim Aufruf alert(). Versuchen Sie folgendes:

$(document).ready(function() { 
    $('#txt_detection').on('change keyup', function() { 
     alert("oops!"); 
    }); 
}); 

Working example

+0

Vielen Dank - viel Rory geschätzt. – ianv

+0

Auch er hat die jquery-Bibliothek nicht in seine Sammlung eingeschlossen. –

0

Was passiert, wenn Ihre beiden Anliegen durch einzelne Änderungsereignis löst wie folgt,
Ihre jsfiddle muß nicht jQuery-Bibliothek und Ihre Warnung vor Syntax falsch war.

$(document).ready(function() { 
    $('#txt_detection').on('input', function() { 
    alert("oops!"); 
    }); 
}); 

Hier funktioniert .

Probieren Sie es aus, das sollte funktionieren.

Document-ready Document

+0

Danke Jungs, das ist wirklich nützlich. Kann nicht zur Reputation beitragen, da meine zu niedrig ist. – ianv

+0

Sie können, probieren Sie es aus;) – rahulsm