.keyup oder .ändern Sie Ereignisse auslösen, für readonly-Felder in jquery?
Ich habe die Liste von Eingabefeldern. In denen einige readonly-Felder.
Ich bin mit .keyup () - Ereignis auslösen, wenn sich etwas ändert im Eingabefeld.
Aber es wird keine Wirkung für readonly-Feld.
Irgendwie will ich ändern, die Felder auch .
Keine Hilfe?
- "Irgendwie will ich ändern, diese Felder auch" - nicht wahr? Fragen Sie, wie ändern Sie den Wert eines readonly-Felds mit JS? Oder Fragen, ob es einen Weg gibt, um automatisch ein Ereignis auslösen, wenn ein readonly-Feld geändert werden, von JS?
- Fragen für : gibt es einen Weg, um automatisch ein Ereignis auslösen, wenn ein readonly-Feld geändert werden, von js?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie anrufen
focus
auf ein readonly input-Feld, dannkeyup
Veranstaltungen wird Feuer. Jedoch, die Eingabe in diesem Feld nicht ändern dessen Wert (afterall, es ist read-only). Vielleicht das, was Sie brauchen, ist zu hören für änderungen in dervalue
- Attribut statt?Ich würde vorschlagen, hören
input
undpropertyChange
als diese Antwort vorgeschlagen:Diese Weise, wenn Ihr-Eingang Wert ändert (
von jeglicher), erhalten Sie eine Benachrichtigung. Edit: funktioniert nicht, wenn Sie programmgesteuert ändern Sie den Wert - für diesen Fall, der nur cross-browser gangbare alternative beinhaltet polling (zum Beispiel diese). Eine bessere option sein könnte, mit einem Rahmen wie knockout.js, automatisiert diese Aufgabe für Sie und bietet klare Trennung zwischen view und Modell. Hier ist ein Beispiel.Update: ich erinnere mich, Lesen Sie Ihren Kommentar im gelöschten Antwort, die besagt, dass Sie programmatisch die Einstellung der Wert der Eingabe, ist das richtig? (könnte einige user mit 10k rep bitte wiederherstellen?) In diesem Fall, warum nicht die code zu ändern ist der Wert trigger den Hörer direkt?
type="date"
wenn Sie wählen Sie ein Datum in der Grafik-Selektor). Aber es ist leicht, es zu tun mit knockout.js hier als Beispiel (in diesem speziellen Fall nicht erforderlich jQuery auf alle, aber oft ist es einfach zu kombinieren, beide Rahmen in der gleichen Seite, wenn nötig). Sorry, wenn das nicht Ihre Frage beantworten, aber ich weiß es wirklich nicht Weise, es zu tun, neben der Abfrage der input-Wert... oder einfach nur den Aufruf der listener direkt...Scheint es readonly-Felder nicht hören Ereignissen bedeutet, dass Eingaben wie "Eingang", "keyup", etc, und wenn Sie denken, das ist ein logisches Verhalten, noch hören Sie die change-Ereignis, dann, warum nicht verwenden "onchange" anstatt die Eingänge Ereignis, mit jQuery ist es ziemlich einfach:
für
Und für die restlichen Eingänge, die nicht readonly