document.activeElement没有'在Chrome上无法正常工作,有什么替代方案
document.activeElement doesn't work as expected on Chrome, what are the alternatives?
嗨,
在选中/取消选中复选框时,我希望选中/取消选择同一类的所有复选框,并禁用/启用关联的文本字段。
我设法用document.activeElement
和document.getElementsByClassName
编写了一个代码,它可以做到这一点,只是它在Chrome上不起作用。据报道,Chrome中有一个错误,即除非activeElement是文本字段,否则它会返回body而不是实际的activeElement。
在修复错误之前,有没有一个我可以使用的变通方法?
我的代码:
JS:
function changeAll(variable) {
var current = document.activeElement;
var checkboxes = variable + "_g";
var text = variable + "_v";
var i;
if (current.checked === true) {
for (i = 0; i < document.getElementsByClassName(checkboxes).length; i++) {
document.getElementsByClassName(checkboxes)[i].checked = true;
}
for (i = 0; i < document.getElementsByClassName(text).length; i++) {
document.getElementsByClassName(text)[i].disabled = false;
}
} else {
for (i = 0; i < document.getElementsByClassName(checkboxes).length; i++) {
document.getElementsByClassName(checkboxes)[i].checked = false;
}
for (i = 0; i < document.getElementsByClassName(text).length; i++) {
document.getElementsByClassName(text)[i].disabled = true;
}
}
}
HTML:
<input type="checkbox" class="y_g" onClick="changeAll('y')">
<input type="text" class="y_v" disabled>
<input type="checkbox" class="y_g" onClick="changeAll('y')">
<input type="text" class="y_v" disabled>
<br>
<input type="checkbox" class="x_g" onClick="changeAll('x')">
<input type="text" class="x_v" disabled>
<input type="checkbox" class="x_g" onClick="changeAll('x')">
<input type="text" class="x_v" disabled>
通过参考
HTML:
<input type="checkbox" class="y_g" onClick="changeAll(this,'y')">
JavaScript:
function changeAll(current, variable) {
//var current = document.activeElement;
理想情况下,您不会使用内联事件。
相关文章:
- learnyounode杂耍异步解决方案不工作
- 我根据解决方案按类对
- 元素进行分组,但需要帮助了解它的工作原理
- JavaScript没有'JSP页面重定向后无法工作..任何解决方案
- 如何获得Facebook Like Box"黑暗方案”;正确工作?(背景是透明的.)
- 使 Jquery 库工作的不同替代方案
- 是否有跨子域工作的现代会话存储替代方案
- 数据切换和onclick不能一起工作,我太新了,无法应用@epascarello的解决方案
- Javascript在页面刷新后工作,不知道解决方案
- parent.navigate只在IE中工作.我有什么替代方案可以让它与其他浏览器一起工作
- PhoneGap URL方案在其他页面不工作
- 如何修改给定的代码打开两个链接在一次点击(没有解决方案为我工作)
- document.activeElement没有'在Chrome上无法正常工作,有什么替代方案
- WordPress解决方案在jquery 1.11.0中不工作
- document.write()和Ajax -不工作,寻找替代方案
- 你如何得到解决方案的屏幕宽度和高度工作
- 为什么这个setTimeout解决方案不能在javascript中工作
- Javascript拖放:ondragleave工作解决方案
- RegisterStartupScript在母版页不工作.替代方案
- AngularJs:返回已经找到的嵌套$http解决方案的承诺,但为什么它能工作
- 寻找一个解决方案,作为radiobutton.click()挂Safari,但在Chrome中工作