2017-12-15 2 views
0

Ich habe ein Funkelement (8 Elemente mit dem gleichen Namen) auslösen, und wenn ich jemand von ihnen machen will ausgewählt/checked verwende ich den Code:Warum Stütze() nicht OnChange-Ereignis von Radio mit jquery

myelmt.prop("checked",true) 

Das Problem ist, dass dieser Code nicht das Ereignis onchange auslöst. Warum? Ich muss immer dies tun:

myelmt.prop("checked",true).trigger("change") 

Ich habe eine libraary, die mit dem Änderungswert des Radio hört, warum der Browser nicht wird das Ereignis onchange Brennen, wenn prop() verwendet wird?

+0

Wahrscheinlich für diese Erklärung Sie suchen: https://stackoverflow.com/questions/5874652/prop-vs-attr – varit05

+0

weil Javascript Ereignisse auslösen nicht nur Benutzeraktionen zu tun. – epascarello

+0

@ varit05 Es hat nichts mit 'prop' vs' attr' zu tun. Für beide Funktionen wird kein Ereignis ausgelöst. – Barmar

Antwort

0

Ich denke, JQuery documentation hat die Antwort

Für Auswahlbox, Kontrollkästchen und Radio-Buttons, wird das Ereignis sofort ausgelöst, wenn die Benutzer eine Auswahl mit der Maus macht, aber für die anderen Elementtypen des Ereignis aufgeschoben, bis das Element den Fokus verliert.

Zusätzlich diese post may help

+0

Ich denke, für alle Elementtypen tritt das Ereignis nur auf, wenn das Element vom Benutzer geändert wird, nicht durch Code. – Barmar

+0

Es wird nicht erklärt, warum mein Änderungsereignis nicht ausgelöst wird, selbst wenn ich irgendwo auf der Seite außerhalb des Bildschirms klicke (den Unschärfeeffekt erzeugend), wird das Ereignis nicht ausgelöst. – Samul

+0

Wenn Sie es programmgesteuert ändern, klicken Sie außerhalb, die Änderung wurde noch nicht vom Benutzer initiiert. –

Verwandte Themen