事件的三要素
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