Wpis z mikrobloga

Dlaczego jak używam selektora "input" to nie działa?

$("input").on("change", function(){
alert("dziala!");
});

Jak dam "div" (w którym jest input) to działa, ale przecież to mi co chwilę się jakiś div na stronie zmienia. ( ͡° ʖ̯ ͡°)
Jak ustawię inputowi jakąś klasę to też nie działa.

#jquery
  • 7
$(document).on('change', 'input', function() {

alert("dziala!");

});


@MarcusPlinius: No tak działa, ale wiesz czemu tamto nie działa? Na przykładach wszędzie są takie proste skrypciki i działają, w ten sposób bym uniknął może błędów w przyszłości.
@roknasilowni: Taka składnia. Są dwa scenariusze wyboru:

- $("input").change, function(){ - ten Ci nie obejmie przypadków dynamicznie dodanych elementów po załadowaniu strony
- $(document).on('change', 'input', function() { - tutaj selektor podaje się jako parametr funkcji "on". Działa również na dynamicznie dodanych elementach po załadowaniu strony. Dla mnie ten pierwszy selektor wskazuje na zakres który ma być monitorowany - jak dasz nadrzędny "div" to będzie monitorował tylko input-y w ramach tego diva