首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用纯javascript (非jQuery)触发复选框更改事件

使用纯javascript (非jQuery)触发复选框更改事件
EN

Stack Overflow用户
提问于 2018-06-23 02:15:00
回答 4查看 3K关注 0票数 2

我正在用ES6构建一个多项选择。这一切都是正常的(移动槽项目,点击它们,突出显示,任何你想要的),但唯一的问题是如何处理这些复选框。每当项目突出显示并按下enter时,我必须捕获事件,验证选中项目的数量并更新dropdown的标题。

到目前为止,我发现的方法都是基于使用document.createEvent()fireEvent()的,但是它们都被弃用了(是的,我想不出如何使用CustomEvent来解决这个问题)。

我已经努力寻找答案3天了,相信我,当我说我尽了最大努力的时候。

代码语言:javascript
复制
checkbox.checked = true
checkbox.checked = false

仅更改复选框值,但不会触发任何事件

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-07-05 18:22:05

因为更改复选框值不会触发任何事件,所以它当然不会触发'click‘或'change’事件。它们必须在任何情况下单独或一起触发,侦听器也必须是特定的,new Event('change')工作得很好。这是一个如何触发和监听事件的问题。感谢您的回答:-)

票数 2
EN

Stack Overflow用户

发布于 2018-06-23 02:21:20

这听起来可能很愚蠢,但你有没有尝试过简单地调用click?

代码语言:javascript
复制
checkbox.click()
票数 -1
EN

Stack Overflow用户

发布于 2018-06-23 02:26:09

如果您的checkbox html如下所示,

代码语言:javascript
复制
<input id="myCb" type="checkbox" />

然后

代码语言:javascript
复制
document.getElementById("myCb").click(); 

应该能行得通。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50993576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档