事件的三要素
1.事件源 div标签
// 点击div标签,设定随机颜色 var oDiv = document.querySelector('div');
2.事件类型 click 鼠标左键单击事件
on 是 绑定事件类型的 语法
3.事件处理函数 function(){} 匿名函数
也可以是一个定义好的函数名称
绑定匿名函数
匿名函数形式,等于是将整个匿名函数,绑定在事件上,触发事件,就会触发执行函数中的程序
类似于 var abc = function(){} 将整个函数 赋值给这个变量
oDiv.onclick = function(){ oDiv.style.color = setColor(); }
绑定函数名称
fun这个函数名称中,存储的是 已经定义好的函数的 内存地址
触发事件,通过 内存地址, 找到函数的存储空间,调用执行函数
如果绑定是 fun() 等于绑定的是 函数的执行结果 return 的内容
触发时间时 就不是通过函数地址,调用函数了
绑定函数名称,必须没有();
oDiv.onclick = fun; function fun(){ oDiv.style.color = setColor(); }
鼠标左键单击事件 click 分成按下抬起两个动作,两个都做都执行完毕,才会触发单击事件
oDiv.onclick = function(){ console.log('我是单击事件的执行内容') }
鼠标左键双击事件 dblclick
oDiv.ondblclick = function(){ console.log('我是双击事件的执行内容') }
鼠标右键单击事件 contextmenu
oDiv.oncontextmenu = function(){ console.log('我是鼠标右键单击事件') }
鼠标按键按下 mousedown
oDiv.onmousedown = function(){ console.log('我是鼠标按键按下事件') }
鼠标按键抬起 mouseup
oDiv.onmouseup = function(){ console.log('我是鼠标按键抬起事件') }
鼠标移动 mousemove 必须移动才会触发,悬停不会触发
在 标签 范围内 移动 触发的是 mousemove 事件
oDiv.onmousemove = function(){ console.log('鼠标在div上移动了') }
鼠标移入 mouseover mouseenter
oDiv.onmouseenter = function(){ console.log('我进去了') }
鼠标移出 mouseout mouseleave
移入移出事件,只有在经过标签范围 边界线时 才会触发
在 标签 范围内 移动 不会触发事件
经过 子级标签 边界线时 mouseover mouseout 也会被触发
经过 子级标签 边界线时 onmouseenter mouseleave 不会被触发
oDiv.onmouseleave = function(){ console.log('我出来了') }
Comments | NOTHING