Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Эмуляция свойства onCheck для элементов radio & checkbox (https://javascript.ru/forum/events/26155-ehmulyaciya-svojjstva-oncheck-dlya-ehlementov-radio-checkbox.html)

Rootpassword 28.02.2012 12:32

Событие происходит, грубо говоря, если пользователь тыкает мышкой в ваш чекбокс, изменяя его свойство checked на противоположное. Это событие onchange. или onclick можно.
Но если вы меняете js свойство checked вот так, как вы показали, никакого события не происходит. Понимаете?

Ghaniball 28.02.2012 12:42

Цитата:

Сообщение от Rootpassword
Понимаете?

Я понимаю. Я создал эту тему чтобы узнать нет ли других путей или возможностей.

T-sh 28.02.2012 12:47

onclick/onchange

хотя я встречал и вариант из проктологии, когда с интервалом в секунду отслеживали изменение значений атрибутов... но это уже для любителей БДСМ и фетишистов.

Kolyaj 28.02.2012 13:09

T-sh,
onclick/onchange не срабатывают при программном изменении свойства checked.

Цитата:

Сообщение от T-sh
хотя я встречал и вариант из проктологии, когда с интервалом в секунду отслеживали изменение значений атрибутов... но это уже для любителей БДСМ и фетишистов.

Без этого иногда тоже не обойтись.

T-sh 28.02.2012 13:16

Цитата:

Сообщение от Kolyaj (Сообщение 160413)
T-sh,
onclick/onchange не срабатывают при программном изменении свойства checked.


Без этого иногда тоже не обойтись.

если честно, не могу представить себе ситуацию, когда нужно отслеживать программное изменение свойства... не проще ли сразу с изменением свойства выполнить нужные действия?

Rootpassword 28.02.2012 13:18

Представим себе черный ящик...

Kolyaj 28.02.2012 13:54

T-sh,
реализация placeholder-а в форме логин/пароль. В качестве placeholder-а выступает label, позиционированный над input-ами. Если фокус или значение, то label нужно скрыть.
Теперь беда: если у пользователя сохранён пароль в браузере, то он автоматически подставляется в поле пароля без какого-либо события. По крайней мере так было минимум в одном браузере на тот момент, когда я это делал. А надпись надо скрыть при этом.

Ghaniball 28.02.2012 15:29

Выходит что невозможно прицепить обработчик к элементу если программно изменить свойство "checked"?

T-sh 28.02.2012 15:45

Цитата:

Сообщение от Kolyaj (Сообщение 160433)
T-sh,
реализация placeholder-а в форме логин/пароль. В качестве placeholder-а выступает label, позиционированный над input-ами. Если фокус или значение, то label нужно скрыть.
Теперь беда: если у пользователя сохранён пароль в браузере, то он автоматически подставляется в поле пароля без какого-либо события. По крайней мере так было минимум в одном браузере на тот момент, когда я это делал. А надпись надо скрыть при этом.

теперь понятно.. да.. нужно отслеживать изменение свойства, иначе никак. хотя.. фокус при этом не устанавливается случайно? надо проверить.

Kolyaj 28.02.2012 15:49

Если бы фокус устанавливался, проблемы бы не было.


Часовой пояс GMT +3, время: 02:43.