JavaScript事件基础

144 阅读3分钟

事件基础

常见事件:鼠标事件、键盘事件、表单事件、编辑事件、页面事件

在script中调用调用

obj.onclick = function() {
// obj是一个DOM对象,onclick就是一个事件属性,事件属性有多个,function为事件响应后的方法,进行的操作。
}

在HTML行内元素中调用

<input type="button" onclick="aleat('弹出对话框')" value="弹出">
//或
<input type="button" onclick="aleatMes()" value="弹出"><script>
  function aleatMes() {
      aleat("弹出对话框");
  }
//该函数已经在html行内事件中调用
//两者实现效果相同
</script>

1. 鼠标事件

事件说明
onclick鼠标单击
onmouseover鼠标移入
onmouseout鼠标移出
onmousedown鼠标按下
onmouseup鼠标松开
onmousemove鼠标移动

onmousedown、onmousedown、onmousemove三个配合可以完成鼠标拖拽、抛掷等效果

2. 键盘事件

事件说明
onkeydown键盘按下
onkeyup键盘松开

3. 表单事件

事件说明
onfocus获得焦点时触发
onblur失去焦点时触发
onselect常用与选中文本框(少用)
onchange常用于具有多个选项的表单元素
onsubmit常结合后端使用

【补充】

focus( ) 方法和select( ) 方法,不属于表单事件。

obj.focus()  可以自动获取焦点

obj.select()  ,仅用于全选文本,可以用来设置单击搜索框自动全部选中搜索框的全部文字等

4. 编辑事件

事件说明
oncopy可以使用obj.oncopy并return false, 防止页面内容被复制
onselectstart可以使用document.body.onselectstart并return false,防止页面内容被选取
oncontextmenu可以使用document.oncontextmenu并return false,禁用鼠标右键

5 页面事件

事件说明
onload文档加载完成后再执行的一个事件
onbeforeunload离开页面之前触发的一个事件

事件进阶

1. 事件监听器

1.1 绑定事件

事件监听器就是指使用addEventListener( )方法为一个元素添加事件,又称绑定事件。

obj.addEventListener(type, fn, false);
//obj是DOM对象
//type是一个字符串,指的是事件类型,如鼠标单击、移动等这些,不过前面不用加on
//fn是一个函数名或匿名函数
//false表示事件冒泡阶段调用

【使用事件监听器可以为同一个元素添加多个相同事件,普通事件处理程序无法完成】

1.2 解绑事件

obj.removeEventListener(type, fn, false)
//对于removeEventListener()方法,fn必须是一个函数名而不能是函数

2. event事件对象

常用属性

type:获取事件类型

btn.onclick = function(e) {
    aleat(e.type)
}
//e: 一个变量,每调用一次事件时,JavaScript都会默认给这个事件函数加上一个隐藏的参数(event对象),一般来说event对象是作为事件函数的第一个参数传入的

keyCode:获取键盘按键的对应键码,如果是【shift】【Alt】【Ctrl】键,用shiftKey、altKey、ctrlkey属性获取。e.keyCode返回的是一个数字,其他三个返回的是布尔值

【常用的按键及对应键码】

按键键码
W87
S83
A65
D68
38
40
37
39

3. 事件操作this说明

哪个DOM对象(元素节点)调用了this所在的函数,那么this指向的就是哪个DOM对象。

事件函数中尽量使用this代替oBtn、oLi等写法。