Saya punya pendengar acara di kotak centang:
<input type="checkbox" name="something">
Pendengar acara saya:
$('input[type="checkbox"][name="something"]').change(function() {
//DO SOMETHING
});
Saya memiliki pendengar acara lain yang mengubah .prop
kotak centang:
$('#button').click(function() {
$('input[type="checkbox"][name="something"]').prop("checked", false);
});
Ketika saya mencentang DO SOMETHING
pemicu kotak centang . Ketika saya mengklik #button
, .prop
perubahan dan saya melihat kotak centang secara visual tidak dicentang, tetapi DO SOMETHING
tidak dipicu ...
Sesuatu yang saya abaikan?
Jawaban:
Peristiwa perubahan diaktifkan saat nilai diubah oleh interaksi pengguna di halaman dan bukan saat nilai diubah menggunakan kode.
Di sini Anda perlu menggunakan
.change()
atau.trigger("change")
setelah mengubah properti:Bekerja Demo
sumber
prop
mengurus generasi acara perubahan?Template.myTemplate.events
) dan tidak berhasil. Saya kemudian meletakkan kode jQuery yang sama persis di bawahTemplate.myTemplate.rendered
dan itu berjalan dengan baik.