**在写js代码时,常会出现绑定了单击事件,但会报出not defined的错误,在此结合自己code过程中碰到的一些常见问题进行总结。
(P.S:下述body中的代码只截取了一行,旨在表明是否能成功执行而已。)**
1.将单击事件绑定在html标签体内部的情况
- 单击事件运行成功。直接将函数放置在script标签中。
<body>
<input type="checkbox" onclick="selectAll(this)" >
</body>
<script>
function selectAll(obj){
//获取下边的复选框
$(".itemSelect").prop("checked",obj.checked);
}
</script>
<body>
<input type="checkbox" onclick="selectAll(this)" >
</body>
<script>
$(function () {
selectAll = function(obj){
$(".itemSelect").prop("checked",obj.checked);
}
})
</script>
- 单击事件运行失败。也是将函数放置在入口函数中,但注意与上一种函数定义方式的区别。
<body>
<input type="checkbox" onclick="selectAll(this)" >
</body>
<script>
$(function () {
function selectAll(obj){
$(".itemSelect").prop("checked",obj.checked);
}
})
</script>
2.将单击事件绑定在script标签中的情况
<body>
<input type="checkbox" id="selectAll" >
</body>
<script>
$(function(){
$("#selectAll").click(function () {
$(".itemSelect").prop("checked",this.checked);
})
})
</script>
<body>
<input type="checkbox" id="selectAll" >
</body>
<script>
$(function () {
var selectAll = document.getElementById("selectAll");
selectAll.onclick = function(){
$(".itemSelect").prop("checked",this.checked);
}
})
</script>