Я хочу взять на себя ручное управление тем, установлен ли данный флажок.По этой причине я предоставляю пользовательскую функцию onclick
и return false
от нее: я думаю, что если я не return false
, то действие по умолчанию (отменить флаг input
checked
) переопределит то, чтоЯ настраивал в своей пользовательской функции.
let input = document.getElementsByTagName('input')[0]
input.onclick = function() {
if(input.checked)
input.checked = false
else
input.checked = true
return false
}
<input type="checkbox"/>
Однако это не работает.return false
отменяет то, что я сделал!Он сбрасывает флажок в то состояние, в котором он находился до щелчка!
Удаление return false
также не годится: тогда флажок переводит себя в состояние, в котором он не был перед нажатиемэто снова отменяет все, что я делаю в своей пользовательской функции onclick
:
let input = document.getElementsByTagName('input')[0]
input.onclick = function() {
if(input.checked)
input.checked = true // click should be futile
else
input.checked = false //click should be futile
}
<input type="checkbox"/>
Как я могу контролировать вручную, установлен флажок или нет?Как я могу сделать так, чтобы флажок не отменял то, что я установил в своем пользовательском обработчике onclick
?