1.JavaScript中的event事件(鼠标事件,键盘事件,HTML事件)
(1). 鼠标事件
- 鼠标按下 onmousedown
- 鼠标弹起 onmouseup
- 鼠标移出 onmouseout
- 鼠标移进 onmouseover
- 鼠标移动 onmousemove
- 鼠标悬停 onmouseenter
- 鼠标取消悬停 onmouseleave
代码展示:
box.onmousedown = function() { console.log('鼠标按下了'); } box.onmouseup = function() { console.log('鼠标弹起了'); } box.onmouseout = function() { console.log('鼠标移出了'); } box.onmouseover = function() { console.log('鼠标移进了'); } box.onmouseenter = function() { console.log('鼠标悬停了'); } box.onmouseleave = function() { console.log('鼠标取消悬停了'); }
|
mouseover 和 mouseenter的区别是:
- mouseover:元素的子元素移入也会触发事件 (子元素会触发第二次)
- mouseenter: 元素的子元素移入不会触发事件 (子元素不会触发)
(2). 键盘事件
- 键盘按下:onkeydown
- 键盘弹起: onkeyup
- 按下之后弹起之前:onkeypress
代码展示:
window.onkeydown = function() { console.log('键盘按下'); } window.onkeyup = function() { console.log('键盘弹起'); } window.onkeypress = function() { console.log('按下之后弹起之前'); }
|
(3). HTML事件
- 页面加载事件:onload 提交按钮触发事件,一般应用于元素表单form
- 失去焦点事件:onblur
- 获取焦点事件:onfocus(常用于input)
代码展示:
window.onload = function() { console.log('页面加载了'); }
document.getElementById('form').onsubmit = function() { console.log('提交了'); }
document.getElementById('input').onfocus = function() { console.log('获取焦点'); } document.getElementById('input').onblur = function() { console.log('失去焦点'); }
|
(4).补充html方法(重点)
- onchange 修改 当里面的值value发生变化以后 失去焦点的时候触发 加给表单元素
- onscroll 滚动栏滚动
- onselect 选择 (一般用于复制粘贴 input textarea)
代码展示:
text.onchange = function() { console.log('修改事件'); }
window.onscroll = function() { var scroll = document.documentElement.scrollTop || document.body.scrollTop console.log(srcoll); }
var textarea = document.getElementById('textarea') textarea.onselect = function() { console.log('选择了'); }
|
2.event的相关属性和方法:
1.鼠标的事件源对象
div.onmousedown = function(e) { e = e || window.event console.log(e.button); console.log(e.target); console.log(e.type); console.log(e.x); console.log(e.y); console.log(e.pageX); console.log(e.pageY); console.log(e.offsetX); console.log(e.offsetY); console.log(e.screenX); console.log(e.screenY); console.log(e.clientX); console.log(e.clientY); console.log(e.path); console.log(e.ctrlKey); console.log(e.shiftKey); console.log(e.altKey); }
|
2.键盘的事件源对象
window.onkeydown = function(e) { e = e || window.event console.log(e.key); console.log(e.code); console.log(e.keyCode); console.log(); console.log(e.shiftKey); console.log(e.altKey); console.log(e.charCode); console.log(e.target); console.log(e.type); }
|
3.在弹起之间按下之后 针对字符按键 charCode只在这里有效(其他按键不会执行)
window.onkeypress = function(e) { console.log('调用了'); console.log(e.charCode); }
|
这篇博客引用了作者为”乐之者java“以及”快乐的小火猴“的文章
原文链接为:CSDN-乐之者java , CSDN-快乐的小火猴