我想对是否已选中给定复选框进行手动控制。因此,我提供了一个自定义的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
也不是一件好事:然后,该复选框将其自身强制为不是的状态,然后再单击它,再次覆盖我在自定义{{1} }函数:
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"/>
处理程序中设置的复选框?
答案 0 :(得分:1)
尝试从函数中返回值,而不要设置它们:
let input = document.getElementsByTagName('input')[0]
input.onclick = function() {
if(input.checked)
return true // click should be futile
else
return false //click should be futile
}
<input type="checkbox"/>
在此,该复选框的值一旦被选中就无法修改。这是你所追求的吗?
答案 1 :(得分:0)
您为什么要这样做?如果要根据某些数据设置复选框的状态,则有简单的方法。或者,如果您想从其他地方触发更改复选框状态,则应在其他位置而不是复选框本身添加onClick事件。
答案 2 :(得分:0)
我回复了你的对与错。如果不满足条件,请使用此选项。如果遇到其他情况,请使用。在从模态中选择了复选框的怪兽的移动值之后。
let input = document.getElementsByTagName('input')[0]
input.onclick = function() {
if(input.checked)
input.checked = false
else
input.checked = true
}
<input type="checkbox"/>
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"/>