Документация jQuery говорит нам, что .click() «is a shortcut for .bind('click', handler) in the first variation, and .trigger('click') in the second.» А вот с triggerHandler интереснее: «The .triggerHandler() method behaves similarly to .trigger(), with the following exceptions:
— The .triggerHandler() method does not cause the default behavior of an event to occur (such as a form submission).»
То есть, можно использовать тот же click(), дополняя имитацией стандартного поведения. Спасибо, попробую, возможно, так будет чуть проще.
Возможно, но мне показалось, что это проблема именно jQuery. Неужели все js-движки работают в подобных ситуациях одинаково? Это стандарт такой что ли?)
все очень просто.
есть чекбокс и его родной онклик который меняет его состояние
есть навешаное тобой событие которое по клику меняет его еще раз
1 если ты реально кликаешь на чекбокас происходят оба события и состояние меняться два раза тоесть становиться снова тем которое было
2 если ты програмно вызыввешь триггер то происходят оба события с тем же результатом что и прошлый раз
3 если ты вызываешь тригер хендлер то происходит только то событие которое ты навесил через жуквери.
Анатомия .click() или история одной проблемы