有同样的问题,但参考了一个非常有用的网站,该网站列出了 Javascript 中的事件。在对关键字“check”进行快速搜索(Ctrl+F)后,我发现列出了“change”事件……据说与大多数浏览器兼容。果然它在那里,所以我的假设是复选框可能有一个“更改事件”。低,看看只是测试它,它似乎工作。这是您的代码稍作修改和事件链接(http://help.dottoro.com/larrqqck.php):
popup.html 中的 html 示例
<div class="menu" >
<input type="checkbox" id="showAlert" name="showAlert"/>
<label for="showAlert"><nobr>Show Alert</nobr></label></div>
popup.js 中的代码片段示例
document.addEventListener('DOMContentLoaded', function () {
document.querySelector('#showAlert').addEventListener('change', changeHandler);
});
当然,您需要将其传递给如下函数:
function changeHandler(){
//Do Something...maybe another function showAlert(), for instance
if(showAlert.checked){
//do something
}
else{
//do something else
}
}
2018 年 1 月 6 日 - 编辑:
我刚刚回顾了这篇文章,看来这很可能会被弃用。因此,您可能希望使用 MutationObserver ( https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver )。