Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 监视复选框的检查状态_Javascript_Html_Checkbox_Monitoring - Fatal编程技术网

Javascript 监视复选框的检查状态

Javascript 监视复选框的检查状态,javascript,html,checkbox,monitoring,Javascript,Html,Checkbox,Monitoring,自动检查复选框是否已(取消)选中的最佳方法是什么。我知道onclick事件将捕获click事件,但是如果另一个脚本更改复选框“check all button”的状态会怎么样呢?您可以使用“change”事件。IE中的行为有缺陷,因此您可能必须同时观察单击和更改-。您可以在java脚本中定义一个全局变量,并将其状态更改为选中状态 或者单击更改复选框状态的复选框并在另一个脚本更改时取消选中该复选框 使用checked属性和CheckboxStateChange事件检查复选框的状态。不过,我不知道兼

自动检查复选框是否已(取消)选中的最佳方法是什么。我知道onclick事件将捕获click事件,但是如果另一个脚本更改复选框“check all button”的状态会怎么样呢?

您可以使用“change”事件。IE中的行为有缺陷,因此您可能必须同时观察单击和更改-。

您可以在java脚本中定义一个全局变量,并将其状态更改为选中状态
或者单击更改复选框状态的复选框并在另一个脚本更改时取消选中该复选框

使用
checked
属性和
CheckboxStateChange
事件检查复选框的状态。不过,我不知道兼容性


其他脚本应在代码本身中启动复选框单击。即使从脚本启动,事件也将冒泡。下面是一个示例,如果您感兴趣-->

您不能使用更改事件来监视对复选框的编程更改(更改,而不是源于单击)。所以你必须自己制作显示器。一种方法是使用
setInterval
进行定期检查。类似于:
setInterval(checkstate,2000)。查看此示例以查看实际操作。

它在IE中不是“bug”,它是根据W3C HTML 4.01规范实现的,该规范规定,如果控件已被修改,则当控件失去焦点时应触发。不幸的是,这种行为令人困惑,因此大多数使用click事件,而使用元素的checked属性。
change
事件不会使用类似于
[checkbox]的内容检测编程更改。checked=true/false
我同意你的看法。如果它在所有浏览器中的行为都相同,并且检测到编程更改,我会使用onchange事件。我用过onchange,但它在浏览者中似乎不可预测。我只是想避免使用cpu周期来组合复选框。