查看在单击复选框之前是否一直单击该复选框
See if check box is clicked until it is clicked
我正在考虑如何制作一个Are You Human复选框,但我遇到了一个问题(Code At The End)。我试着让它看看它是否被点击,直到它被点击。我试过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——如果是人,它们将根据复选框的位置具有一些值。此外,您可以从html中删除onclick,并将您的点击事件如下所示:
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演示
这样可以:https://jsfiddle.net/rz4pmp5L/3/
var input = document.getElementById('ruhuman');
var ruhuman =
{
checked: false
};
function check()
{
if (input.checked)
{
ruhuman.checked = true;
}
alert(ruhuman.checked);
}
input.onchange = check;
check();
问题是(至少)根本没有定义ruhuman
。
相关文章:
- 如何在单击复选框后调用控制器方法
- 在GridView中,当单击复选框时,在网格的同一行中使用JavaScript将标签中的值添加到TextBox
- 在网页中单击复选框
- 单击复选框时显示日期选择器
- 选择全部单击复选框以及全部拒绝
- 在 Telerik RadGrid 中单击复选框时打开对话框窗口
- 在JS中单击复选框时显示总价
- 单击复选框时重定向
- 如何在单击复选框按钮时制作单选按钮
- 如何使用角度指令控制器动态单击复选框
- 如何通过单击复选框来显示或隐藏网络图表
- 单击复选框时的角度显示一个元素
- 复选框不能通过直接单击复选框来选中或取消选中
- 单击复选框时将此元素添加到收藏夹数组 + 后 Ajax 元素关系
- 单击复选框后未收到复选框事件
- 单击复选框时汇总隐藏字段的值不起作用
- 如何使文本输入框在单击复选框时变为不可写
- 如何在 JSP 中的“单击”复选框时创建删除按钮
- 如何通过单击复选框将文本元素从输入复制到另一个输入
- 单击复选框时如何在 jquery 中创建数组