У меня есть следующий код: http://jsfiddle.net/0Lp4oqn6/
On <input type='radio' name='radio' class='radio' value='on'>
Off <input type='radio' name='radio' class='radio' value='off'>
$('.radio').on('change', function() {
alert( $(this).val() )
}).trigger('change')
Это простой набор из 2 радиовходов и обработчик событий для изменения значения радиовхода.Существует также .trigger('change')
для запуска обработчика событий один раз при загрузке страницы.
Когда страница загружается, обработчик событий запускается дважды.Первое оповещение скажет on
, а второе оповещение скажет off
.Но когда я вручную нажимаю переключатели, обработчик изменений не запускается дважды.
Почему обработчик событий запускается дважды при использовании .trigger('change')
?Почему поведение отличается, когда вы делаете это вручную?Как правильно программно запускать обработчик событий, чтобы он не повторялся дважды?