我可以在eventListener
中添加JavaScript
到复选框,还是必须使用html onclick = someFunc()
中的属性来触发功能。
我设置了一个fiddle我尝试添加eventListener
,但这并没有给我预期的输出。
var checkb = document.getElementById("checkbox1");
(function() {
checkbFunc(checkb);
function checkbFunc(checkb) {
checkb.addEventListener("click", function(e) {
if (checkb.checked) {
alert("i am checked");
} else {
alert("i am not checked")
}
});
}
});
答案 0 :(得分:1)
是的,你可以。只需从所有函数中解开代码,然后使用change
事件,它应该可以正常工作
var checkb = document.getElementById("checkbox1");
checkb.addEventListener("change", function(e) {
if (this.checked) {
alert("i am checked");
} else {
alert("i am not checked")
}
});
答案 1 :(得分:0)
你可以像这样做其他方式
var checkb = document.getElementById("checkbox1");
(function() {
checkbFunc(checkb);
function checkbFunc(checkb) {
checkb.addEventListener("click", function(e) {
if( checkb.checked ) {
alert("i am checked");
} else {
alert("i am not checked")
}
});
}
})(); // <--added this
答案 2 :(得分:0)
您只需删除匿名函数
即可
var checkb = document.getElementById("checkbox1");
checkbFunc(checkb);
function checkbFunc(checkb) {
checkb.addEventListener("click", function(e) {
if( checkb.checked ) {
alert("i am checked");
} else {
alert("i am not checked")
}
});
}
<input type="checkbox" id="checkbox1"/>
或者,更好的是,使用JQuery document.ready block。
答案 3 :(得分:0)
您的代码无效,因为未执行主要的匿名函数。
以下代码适合您。
SELECT t1.ID, t1.Date, t2.Type, t1.Username
FROM t1
INNER JOIN t2
ON t1.CareID = t2.CareID AND
t1.Date = t2.Date AND
t1.Username = t2.Username
LEFT JOIN t3
ON t1.CareID = t3.CareID AND t1.Username = t3.Username
GROUP BY t1.ID, t1.Date, t2.Type, t1.Username
HAVING COUNT(*) = 1 AND t1.Date <= t3.Date