目录
1 事件监听机制
概念:某些组件被执行了某些操作后,触发某些代码的执行。
- 事件:某些操作。如: 单击,双击,键盘按下了,鼠标移动了
- 事件源:组件。如: 按钮 文本输入框...
- 监听器:代码。
- 注册监听:将事件,事件源,监听器结合在一起。 当事件源上发生了某个事件,则触发执行某个监听器代
常见的时间监听器:
1. 点击事件 | 1. onclick:单击事件 2. ondblclick:双击事件 |
2. 焦点事件 | 1. onblur:失去焦点 2. onfocus:元素获得焦点。 |
3. 加载事件 | 1. onload:一张页面或一幅图像完成加载。 |
4. 鼠标事件 | 1. onmousedown 鼠标按钮被按下。 2. onmouseup 鼠标按键被松开。 3. onmousemove 鼠标被移动。 4. onmouseover 鼠标移到某元素之上。 5. onmouseout 鼠标从某元素移开。 |
5. 键盘事件: | 1. onkeydown 某个键盘按键被按下。 2. onkeyup 某个键盘按键被松开。 3. onkeypress 某个键盘按键被按下并松开。 |
6. 选择和改变 | 1. onchange 域的内容被改变。 2. onselect 文本被选中。 |
7. 表单事件: | 1. onsubmit 确认按钮被点击。 2. onreset 重置按钮被点击。 |
2 事件绑定
事件绑定有两种方式:
- 直接在html标签上,指定事件的属性(操作),属性值就是js代码
- 通过js获取元素对象,指定事件属性,设置一个函数
列:直接在html标签上,指定事件的属性(操作),属性值就是js代码
<body>
<img id="light" src="./img/off.gif" alt="灯泡" onclick="fun();">
<script>
function fun() {
document.write("我是灯泡");
}
</script>
</body>
列:2. 通过js获取元素对象,指定事件属性,设置一个函数
<body>
<img id="light" src="./img/off.gif" alt="灯泡">
<script>
function fun() {
document.write("我是灯泡");
}
var linght=document.getElementById("light");
linght.onclick=fun;
</script>
</body>
3 事件练习
3.1 onclick点击事件实现表格的全选和全部选
<style>
table{
border: 1px solid gray;
width: 60%;
margin: auto;
}
td,th{
text-align: center;
/*border-collapse: separate;*/
border: 1px solid gray;
margin: 0;
}
div{
margin-top: 10px;
margin-left: 20%;
}
</style>
<script>
window.onload=function(){
//1 全选btn按钮
document.getElementById("selectAll").onclick=function () {
var checkbox=document.getElementsByName("checkbox");
for(var i=0;i<checkbox.length;i++){
checkbox[i].checked=true;
}
}
//2 全不选btn按钮
document.getElementById("unSelectAll").onclick=function () {
var checkbox=document.getElementsByName("checkbox");
for(var i=0;i<checkbox.length;i++){
checkbox[i].checked=false;
}
}
//3 反选btn按钮
document.getElementById("selectRev").onclick=function () {
var checkbox=document.getElementsByName("checkbox");
for(var i=0;i<checkbox.length;i++){
checkbox[i].checked=!checkbox[i].checked;//设置每一个cb的状态为相反
}
}
//4 点击第一个多选框时
document.getElementById("firstCb").onclick=