Эмуляция события onCheck для элементов radio & checkbox
Предположим в моем скрипте есть следующая строка
document.getElementById("myRadioButton").checked = true Какое в этом случае срабатывает событие, чтобы потом к этому событию прикрепить функцию? |
Никакое.
|
Цитата:
|
Запустить обработчик события если он есть
|
Цитата:
|
Цитата:
document.getElementById("myRadioButton").checked = true то оформите их в виде функции и вызывайте их сразу после, передавая document.getElementById("myRadioButton") параметром функции, вот и все. Остальные варианты схожи. |
Цитата:
обработчик события -функция выполняемая при наступлении события. |
Цитата:
элемент.событие.вызов функции обработчика |
Цитата:
Идейно ваш вариант более правильный, но более сложный для понимания человеку, который js не особо. Я написал попроще вариант, но который хуже поддерживать. Работать будут оба. |
Цитата:
document.getElementById("myRadioButton").checked = true Если "Да" - то какое? И какой у нее обработчик? Если "Нет" - тогда как с помощью JS определить момент изменения атрибута и/или свойства "checked" и прикрепить какую то функцию? Цитата:
|
Событие происходит, грубо говоря, если пользователь тыкает мышкой в ваш чекбокс, изменяя его свойство checked на противоположное. Это событие onchange. или onclick можно.
Но если вы меняете js свойство checked вот так, как вы показали, никакого события не происходит. Понимаете? |
Цитата:
|
onclick/onchange
хотя я встречал и вариант из проктологии, когда с интервалом в секунду отслеживали изменение значений атрибутов... но это уже для любителей БДСМ и фетишистов. |
T-sh,
onclick/onchange не срабатывают при программном изменении свойства checked. Цитата:
|
Цитата:
|
Представим себе черный ящик...
|
T-sh,
реализация placeholder-а в форме логин/пароль. В качестве placeholder-а выступает label, позиционированный над input-ами. Если фокус или значение, то label нужно скрыть. Теперь беда: если у пользователя сохранён пароль в браузере, то он автоматически подставляется в поле пароля без какого-либо события. По крайней мере так было минимум в одном браузере на тот момент, когда я это делал. А надпись надо скрыть при этом. |
Выходит что невозможно прицепить обработчик к элементу если программно изменить свойство "checked"?
|
Цитата:
|
Если бы фокус устанавливался, проблемы бы не было.
|
Цитата:
Спасибо всем за поддержку! Рушение нашёл в событиях onPropertyChange в IE, а в Firefox DOMAttrModified. Один минус - стандарта здесь нет никакого. Тут подробнее. |
Часовой пояс GMT +3, время: 20:40. |