我正在查看如何制作“您是人类”复选框,但遇到问题(“代码结尾”)。我试图使其是否被单击,直到被单击。我尝试了onclick,但这不起作用。
window.onload = function() {
var input = document.getElementById('ruhuman');
function check() {
if (input.checked) {
ruhuman.checked = true;
if (event.originalEvent === undefined) {
ruhuman.human = false;
} else {
ruhuman.human = true;
}
}
alert(ruhuman.human);
alert(ruhuman.checked);
}
input.onchange = check;
check();
}
<input type="checkbox" id="ruhuman" class="ruhuman" onclick="check()" required="required">
<label>R U Human?</label>
编辑:感谢您的帮助!成品位于http://ruhuman.github.io/。
对于回答的人,我可以把您的github帮上您的忙!
最佳答案
originalEvent是JQuery,不是JavaScript。一种解决方法是测试screenX和screenY-如果是人类,则根据复选框的位置来确定它们的价值。此外,您可以remove the onclick from your html并按以下方式绑定您的click事件:
document.getElementById ("ruhuman").addEventListener("click", function(e){
if (this.checked) {
ruhuman.checked = true;
if (e.screenX && e.screenY) {
ruhuman.human = true;
} else {
ruhuman.human = false;
}
}
console.log(ruhuman.human);
console.log(ruhuman.checked);
});
JS Fiddle Demo