事件简单学习
✔ 功能: 某些组件被执行了某些操作后,触发某些代码的执行。
造句: xxx被xxx,我就xxx
我方水晶被摧毁后,我就责备队友。
敌方水晶被摧毁后,我就夸奖自己。
✔ 如何绑定事件
(1)直接在html标签上,指定事件的属性(操作),属性值就是js代码
事件:onclick--- 单击事件
(2)通过js获取元素对象,指定事件属性,设置一个函数
✔ 案例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>电灯开关</title> </head> <body> <img id="light" src="./img/off.gif"> <script> var light = document.getElementById("light"); var flag = false ; light.onclick = function () { if (flag){ light.src = "./img/off.gif"; flag = false ; }else { light.src = "./img/on.gif"; flag = true; } } </script> </body> </html>
事件监听机制
✔ 概念:某些组件被执行了某些操作后,触发某些代码的执行。
* 事件:某些操作。如: 单击,双击,键盘按下了,鼠标移动了
* 事件源:组件。如: 按钮 文本输入框...
* 监听器:代码
* 注册监听:将事件,事件源,监听器结合在一起。 当事件源上发生了某个事件,则触发执行某个监听器代码
✔ 常见的事件:
(1)点击事件
onclick:单击事件
ondblclick:双击事件
(2)焦点事件
onblur:失去焦点 --- 一般用于表单校验
onfocus:元素获得焦点
(3)加载事件
onload:一张页面或一幅图像完成加载
(4)鼠标事件
onmousedown:鼠标按钮被按下
* 定义方法时,定义一个形参,接收 event 对象
* event 对象的 button 属性可以获取鼠标哪个键被点击了
onmouseup:鼠标按键被松开
onmousemove:鼠标被移动
onmouseover:鼠标移到某元素之上
onmouseout:鼠标从某元素移开
(5)键盘事件
onkeydown:某个键盘按键被按下
onkeyup:某个键盘按键被松开
onkeypress:某个键盘按键被按下并松开
(6)选择和改变
onchange:域的内容被改变
onselect:文本被选中
(7)表单事件
onsubmit:确认按钮被点击
* 可以阻止表单的提交
* 方法返回 false 则表单被阻止提交
onreset:重置按钮被点击
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>常见事件</title> <script> //加载完成事件 onload window.onload = function(){ /*// 失去焦点事件 document.getElementById("username").onblur = function(){ alert("失去焦点了..."); }*/ /*// 绑定鼠标移动到元素之上事件 document.getElementById("username").onmouseover = function(){ alert("鼠标来了...."); }*/ /* // 绑定鼠标点击事件 document.getElementById("username").onmousedown = function(event){ // alert("鼠标点击了...."); alert(event.button); }*/ /* document.getElementById("username").onkeydown = function(event){ // alert("鼠标点击了...."); // alert(event.button); if(event.keyCode == 13){ alert("提交表单"); } }*/ /* document.getElementById("username").onchange = function(event){ alert("改变了...") } document.getElementById("city").onchange = function(event){ alert("改变了...") }*/ /*document.getElementById("form").onsubmit = function(){ //校验用户名格式是否正确 var flag = false; return flag; }*/ } function checkForm(){ return true; } </script> </head> <body> <!-- function fun(){ return checkForm(); } --> <form action="#" id="form" onclick="return checkForm();"> <input name="username" id="username"> <select id="city"> <option>--请选择--</option> <option>北京</option> <option>上海</option> <option>西安</option> </select> <input type="submit" value="提交"> </form> </body> </html>