在隐藏复选框上添加更改事件
Add change event on hidden checkbox
我正在尝试捕获更改事件,或者至少单击复选框上的事件。我读到当"visibility : hidden"
或"display:none"
时,事件不会被触发。然后我将eventListener
添加到标签中,但它似乎也不起作用。我不明白如何使工作。
document.addEventListener("DOMContentLoaded", function() {
var gameCount = document.getElementsByClassName("innerCount")[0];
var checkLabel = document.querySelector("input[type=checkbox] + label");
checkLabel.addEventListener("onclick", function() {
if (checkLabel.checked) {
gameCount.innerHTML = "--";
console.log("turnOn");
} else {
gameCount.innerHTML = "";
console.log("turnOff");
}
})
});
.checkbox > input[type=checkbox] {
visibility: hidden;
}
.checkbox {
display: inline-block;
position: relative;
width: 60px;
height: 30px;
border: 2px solid #424242;
}
.checkbox > label {
position: absolute;
width: 30px;
height: 26px;
background-color: #a50005;
cursor: pointer;
}
.checkbox > input[type=checkbox]:checked + label {
right: 28px;
}
<div id="switcher">
<span class="labels">ON</span>
<div class="checkbox">
<input id="checkMe" type="checkbox">
<label for="checkMe"></label>
</div>
<span class="labels">OFF</span>
</div>
这是因为addEventListener
onClick
不存在。请试试click
:
document.addEventListener("DOMContentLoaded", function() {
var gameCount = document.getElementsByClassName("innerCount")[0];
var checkLabel = document.querySelector("input[type=checkbox] + label");
checkLabel.addEventListener("click", function() {
if (checkLabel.checked) {
console.log("turnOn");
} else {
console.log("turnOff");
}
})
});
.checkbox > input[type=checkbox] {
visibility: hidden;
}
.checkbox {
display: inline-block;
position: relative;
width: 60px;
height: 30px;
border: 2px solid #424242;
}
.checkbox > label {
position: absolute;
width: 30px;
height: 26px;
background-color: #a50005;
cursor: pointer;
}
.checkbox > input[type=checkbox]:checked + label {
right: 28px;
}
<div id="switcher">
<span class="labels">ON</span>
<div class="checkbox">
<input id="checkMe" type="checkbox">
<label for="checkMe"></label>
</div>
<span class="labels">OFF</span>
</div>
为复选框字段使用change
事件监听器
document.addEventListener("DOMContentLoaded", function() {
var gameCount = document.getElementsByClassName("innerCount")[0];
var checkLabel = document.querySelector("input[type=checkbox]");
checkLabel.addEventListener("change", function() {
if (checkLabel.checked) {
gameCount.innerHTML = "--";
console.log("turnOn");
} else {
gameCount.innerHTML = "";
console.log("turnOff");
}
})
});
相关文章:
- 将单击事件添加到数据表
- 将单击事件添加到附加的项目中
- 使用引导事件添加动画
- 如何将单击事件添加到JQuery中动态添加的元素中
- 如何在jQuery中将事件添加到新生儿元素中
- JQuery将侦听事件添加到.rezable(),然后附加DIV's
- jQuery:使用实时事件添加tabindex属性
- 将单击事件添加到显示字段
- 如何将事件添加到jQuery's on()回调
- 将此事件添加到工具栏
- TinyMCE 将另一个事件添加到粗体和斜体按钮
- 当用户在输入字段事件中输入内容时,为该字段事件添加动画占位符
- 使用 JQuery 将 onclick 事件添加到动态创建的定位点
- Raphaeljs 将点击事件添加到饼图的一部分
- 将事件添加到网格的coffeescript实现中
- 将事件添加到谷歌地图标记
- Javascript:将onkeydown事件添加到prompt()中
- 如何将onclick事件添加到joint.js元素中
- 角度指令:绑定'鼠标悬停'事件添加到元素
- 将事件添加到涉及for()的索引中的多个子节点