Javascript 取消选中复选框不起任何作用
这是我的菜单栏Javascript 取消选中复选框不起任何作用,javascript,html,checkbox,menu,Javascript,Html,Checkbox,Menu,这是我的菜单栏 已关闭: 已打开: 当窗口超过某个断点时,我希望菜单栏关闭。 下面是代码: html 即使在控制台中,我看到check在断点后有一个假值,菜单仍然是打开的。有什么帮助吗?更改选中的值不会触发onchange事件。你必须自己触发它。check.checked=false之后添加: if ("createEvent" in document) { var evt = document.createEvent("HTMLEvents");
已关闭:
已打开:
当窗口超过某个断点时,我希望菜单栏关闭。 下面是代码:
html
即使在控制台中,我看到check在断点后有一个假值,菜单仍然是打开的。有什么帮助吗?更改选中的值不会触发
onchange
事件。你必须自己触发它。check.checked=false之后代码>添加:
if ("createEvent" in document) {
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
check.dispatchEvent(evt);
}
else
element.fireEvent("onchange");
或者handleChange(检查)
Huh听起来很有趣。。。但我还是犯了一个错误:fireEvent不是function@AleksandreBregadze没错,fireEvent是老东西。我使用dispatchEvent更正了它。这样,只有当您的浏览器不支持事件创建(我猜IE9<)时,您才可以使用fireEvent。它确实工作得很好!然而,现在我有下一个问题,它并没有改变标签的状态。调整大小后,按钮仍保持“X”形。也许你也需要什么?
window.addEventListener('resize', function(){
const check = document.getElementById('responsive-menu');
if(check.checked){
if (window.innerWidth > 845){
check.checked = false;
}
}
})
if ("createEvent" in document) {
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
check.dispatchEvent(evt);
}
else
element.fireEvent("onchange");