Как вызвать событие onclick перед изменением отмеченного свойства? - PullRequest
0 голосов
/ 19 августа 2011

Простой пример:

<input type="checkbox" id="cb" />   

document.getElementById("cb").onclick = function(){
    if(this.checked){
        console.log("Change from checked to unchecked");
    } else {
        console.log("Change from unchecked to checked");         
    }
};  

Но когда я запускаю его, это дает противоположный результат.
И я пришел к выводу, что свойство checked изменяется до onclickсобытие запущено.
Итак, мой вопрос: как я могу запустить событие onclick до изменения свойства checked?

Ответы [ 2 ]

0 голосов
/ 19 августа 2011
<input type="checkbox" id="cb" />   

document.getElementById("cb").onchange = function(){
    if(this.checked){
        console.log("Change from unchecked to checked");
    } else {
        console.log("Change from checked to unchecked");         
    }
};
0 голосов
/ 19 августа 2011

Вы должны использовать событие onchange вместо onclick.

UPDATE:

ваш если условие неверно, при проверке элемента управления вы видите Изменить с проверенного на непроверенный

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...