Event事件对象之鼠标_键盘事件对象
来源:互联网 发布:员工培训软件 编辑:程序博客网 时间:2024/06/04 23:44
以下大部分事件的浏览器支持
属性
1. altKey
返回一个布尔值。指示在指定的事件发生时,Alt 键是否被按下并保持住了
返回值
true,false,1,0表达的都是布尔关系。
event.altKey=true|false|1|0
<!DOCTYPE html><html><head> <meta charset="UTF-8"/> <title>zsh</title> <style> div{ height:200px; background:red; } </style></head><body> <div id='div1'> </div></body><script> div1.onclick = function(e){ if(e.altKey){ alert('alt'); }else{ alert('no alt'); } }</script></html>
2. button
可返回一个整数,指示当事件被触发时哪个鼠标按键被点击
event.button=0|1|2
返回值
- 0 指定鼠标左键。
- 1 指定鼠标中键。
- 2 指定鼠标右键。
注意: Internet Explorer 8 及更早IE版本有不同的参数: - 1 指定鼠标左键。
- 4 指定鼠标中键。
- 2 指定鼠标右键。
注意
对于惯用左手的鼠标配置,上面的参数是颠倒的。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>zsh</title> <style> </style></head> <body> </body> <script> document.onclick = function(e){ e.preventDefault(); switch(e.button){ case 0:alert('鼠标左键'); break; case 1:alert("鼠标中键"); break; case 2:function a(){ alert("鼠标右键"); }; break; } } </script></html>
3. clientX
返回当事件被触发时鼠标指针向对于浏览器页面(或客户区)的水平坐标。客户区指的是当前窗口。
提示
- 该事件只返回相对于浏览器来说的水平坐标,不包含滚动的值。如果要获取相对于整个页面的坐标,可以使用
e.pageX
来代替,但是IE8及其以下版本不支持e.pageX
。推荐使用document.body.scrollLeft + e.clientX
来获取相对于整个页面的坐标。
event.clientX
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>zsh</title> <style> </style></head> <body style='height:3000px;'> </body> <script> document.onclick = function(e){ console.log(document.body.scrollTop + e.clientY); console.log(document.body.scrollLeft + e.clientX); } </script></html>
4. clientY
返回当事件被触发时鼠标指针向对于浏览器页面(客户区)的垂直坐标。 客户区指的是当前窗口。
提示
- 该事件只返回相对于浏览器来说的水平坐标,不包含滚动的值。如果要获取相对于整个页面的坐标,可以使用
e.pageY
来代替,但是IE8及其以下版本不支持e.pageX
。推荐使用document.body.scrollLeft + e.clientX
来获取相对于整个页面的坐标。
event.clientY
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>zsh</title> <style> </style></head> <body style='height:3000px;'> </body> <script> document.onclick = function(e){ console.log(document.body.scrollTop + e.clientY); console.log(document.body.scrollLeft + e.clientX); } </script></html>
5. ctrlKey
返回一个布尔值,指示当事件发生时,Ctrl 键是否被按下并保持住。
event.ctrlKey=true|false|1|0
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>zsh</title> <style> </style></head> <body> </body> <script> document.onclick = function(e){ alert(e.ctrlKey); } </script></html>
6. charCode
返回onkeypress事件触发键值的字母代码
提示
- Unicode 字符代码是一个字母的数字 (如数字 “97” 代表字母 “a”)。
- 所有 Unicode 字符列表可查看菜鸟教程的 完整 Unicode 参考手册。
- 如果你需要将 Unicode 值转换为字符,可以使用 fromCharCode() 方法。
- 如果该属性用于 onkeydown 或 onkeyup 事件,返回值总为 “0”。
- 该属性是只读的。
- which 和 keyCode 属性提供了解决浏览器的兼容性的方法,最新版本的 DOM 事件推荐使用 key 属性来替代该方法。
- IE8 及其更早版本不支持 which 属性。不支持的浏览器可使用 keyCode 属性。但是, keyCode 属性在 Firefox 浏览器的 onkeypress 事件中是无效的。 兼容这些浏览器你可以使用以下代码:
var x = event.charCode || event.keyCode; // 使用 charCode 或 keyCode, 这样可支持不同浏览器
- 你同样可以使用 keyCode 属性来检测特殊的按键 (如 “caps lock” 或 箭头按键)。 keyCode 和 charCode 属性提供了解决浏览器的兼容性的方法,最新版本的 DOM 事件推荐使用 key 属性来替代该方法。
- 如果你想查看是否按下了 “ALT”, “CTRL”, “META” 或 “SHIFT” 键,可使用 altKey, ctrlKey, metaKey 或 shiftKey 属性。
- onkeypress属性不支持检测特殊按键。
浏览器支持
event.charCode
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>zsh</title> <style> </style></head> <body> <input type="text" id='input'/> </body> <script>input.onkeyup = function(e){ console.log(e.charCode|| e.keyCode); } </script></html>
7. key
在按下按键时返回按键的标识符
提示
- 按键标识符是表示键盘按钮的字符串,该属性的返回值可以是:
- 单个字母 (如 “a”, “W”, “4”, “+” 或 “$”)
- 多个字母 (如 “F1”, “Enter”, “HOME” 或 “CAPS LOCK”)
- 如果你想查看是否按下了 “ALT”, “CTRL”, “META” 或 “SHIFT” 键,可使用 altKey, ctrlKey, metaKey 或 shiftKey 属性。
浏览器支持
event.key
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>zsh</title> <style> </style></head> <body> <input type="text" id='input'/> </body> <script>input.onkeyup = function(e){ console.log(e.key); } </script></html>
8. keyCode
在按下按键时返回onkeypress事件触发的键的值的字符代码,或者 onkeydown 或 onkeyup 事件的键的代码。
两种代码类型的区别是:
* 字符代码 - 表示 ASCII 字符的数字
* 键盘代码 - 表示键盘上真实键的数字
两种类型的值不是都相等的,例如小写字符 “w” 和大写字符 “W” 有相同的键盘代码,因为他们他们键盘上 ( “W” 代码为 “87”),但是它们有不同的字符代码,两个字符输出是不一样的( “w” 和 “W” 字符代码为 “119” 和 “87”)
提示
- 所有 Unicode 字符列表可查看菜鸟教程的 完整 Unicode 参考手册。
- 如果你想查看是否按下了 “ALT”, “CTRL”, “META” 或 “SHIFT” 键,可使用 altKey, ctrlKey, metaKey 或 shiftKey 属性。
- 如果你想查看是否按下了 “ALT”, “CTRL”, “META” 或 “SHIFT” 键,可使用 altKey, ctrlKey, metaKey 或 shiftKey 属性。
- 如果需要知道用户按下的是打印键 (如 “a” 或 “5”),建议使用 onkeypress 事件。如果需要知道用户按下的是功能键(如 “F1”, “CAPS LOCK” 或 “Home”) 可使用 onkeydown 或 onkeyup 事件。
- 如果你需要将 Unicode 值转换为字符,可以使用 fromCharCode() 方法。
- 该属性是只读的。
- which 和 keyCode 属性提供了解决浏览器的兼容性的方法,最新版本的 DOM 事件推荐使用 key 属性来替代该方法。
- keyCode 属性在 Firefox 浏览器的 onkeypress 事件中是无效的。 可以一起使用 which 和 keyCode 属性来解决:
var x = event.which || event.keyCode// 使用 which 或 keyCode, 这样可支持不同浏览器
event.keyCode
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>zsh</title> <style> </style></head> <body> <input type="text" id='input'/> </body> <script>input.onkeypress = function(e){ console.log(e.which || e.keyCode); } </script></html>
9. which
在按下按键时返回onkeypress事件触发的键的值的字符代码,或者 onkeydown 或 onkeyup 事件的键的代码。
两种代码类型的区别是:
* 字符代码 - 表示 ASCII 字符的数字
* 键盘代码 - 表示键盘上真实键的数字
两种类型的值不是都相等的,例如小写字符 “w” 和大写字符 “W” 有相同的键盘代码,因为他们他们键盘上 ( “W” 代码为 “87”),但是它们有不同的字符代码,两个字符输出是不一样的( “w” 和 “W” 字符代码为 “119” 和 “87”)
提示
- 所有 Unicode 字符列表可查看菜鸟教程的 完整 Unicode 参考手册。
- 如果你想查看是否按下了 “ALT”, “CTRL”, “META” 或 “SHIFT” 键,可使用 altKey, ctrlKey, metaKey 或 shiftKey 属性。
- 如果你想查看是否按下了 “ALT”, “CTRL”, “META” 或 “SHIFT” 键,可使用 altKey, ctrlKey, metaKey 或 shiftKey 属性。
- 如果需要知道用户按下的是打印键 (如 “a” 或 “5”),建议使用 onkeypress 事件。如果需要知道用户按下的是功能键(如 “F1”, “CAPS LOCK” 或 “Home”) 可使用 onkeydown 或 onkeyup 事件。
- 如果你需要将 Unicode 值转换为字符,可以使用 fromCharCode() 方法。
- 该属性是只读的。
- which 和 keyCode 属性提供了解决浏览器的兼容性的方法,最新版本的 DOM 事件推荐使用 key 属性来替代该方法。
- IE8 及其更早版本不支持 which 属性。不支持的浏览器可使用 keyCode 属性。但是,keyCode 属性在 Firefox 浏览器的 onkeypress 事件中是无效的。 可以一起使用 which 和 keyCode 属性来解决:
var x = event.which || event.keyCode// 使用 which 或 keyCode, 这样可支持不同浏览器
浏览器支持
event.which
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>zsh</title> <style> </style></head> <body> <input type="text" id='input'/> </body> <script>input.onkeypress = function(e){ console.log(e.which || e.keyCode); } </script></html>
10. metaKey
返回一个布尔值,指示当事件发生时,”meta” 键是否被按下并保持住。
提示
- meta键对应window键。
event.metaKey
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>zsh</title> <style> </style></head> <body> </body> <script>document.onclick = function(e){ console.log(e.metaKey); } </script></html>
11. relatedTarget
返回与事件的目标节点相关的节点
提示
- 对于 mouseover 事件来说,该属性是鼠标指针移到目标节点上时所离开的那个节点。
- 对于 mouseout 事件来说,该属性是离开目标时,鼠标指针进入的节点。
- 对于其他类型的事件来说,这个属性没有用。
event.relatedTarget
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>zsh</title> <style> </style></head> <body> <input type="text" id='input'> </body> <script>input.onmouseover = function(e){ console.log(e.relatedTarget); } input.onmouseout = function(e){ console.log(e.relatedTarget); } </script></html>
对于以上代码来说,当鼠标从input框上,左,右边进入时显示的是body标签,从下边进入时显示的是根元素html。这是因为body的高度的原因。
12. screenX
返回事件发生时鼠标指针相对于屏幕的水平坐标
提示
- 此属性只是返回事件触发点与屏幕左边(X)的距离。
event.screenX
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>zsh</title> <style> </style></head> <body> <input type="text" id='input'> </body> <script>input.onmouseover = function(e){ console.log(e.screenX); console.log(e.screenY); } </script></html>
13. screenY
返回事件发生时鼠标指针相对于屏幕的垂直坐标
提示
- 此属性只是返回事件触发点与屏幕顶部(Y)的距离。
event.screenY
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>zsh</title> <style> </style></head> <body> <input type="text" id='input'> </body> <script>input.onmouseover = function(e){ console.log(e.screenX); console.log(e.screenY); } </script></html>
14. shiftKey
可返回一个布尔值,指示当事件发生时,”SHIFT” 键是否被按下并保持住。
event.shiftKey=true|false|1|0
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>zsh</title> <style> </style></head> <body> <input type="text" id='input'> </body> <script>input.onmouseover = function(e){ alert(e.shiftKey); } </script></html>
文档内容出自 W3cSchool和菜鸟教程, 如需查看更详细的有关内容 请登录 http://www.w3school.com.cn/ 和 http://www.runoob.com/
- Event事件对象之鼠标_键盘事件对象
- Event对象之鼠标事件
- Event事件对象之Event
- javascript事件处理中Event对象(键盘事件和鼠标事件)实例
- 鼠标事件中event对象的坐标
- jQuery之鼠标事件 、表单事件、键盘事件、事件的绑定和解绑、事件对象的使用、自定义事件
- JavaScript之事件对象Event(事件)
- Event事件对象之表单事件
- Event事件对象之媒体事件
- Event事件对象之其他事件
- javascript访问事件对象(鼠标、键盘)
- event事件详解-焦点事件、event对象、键盘事件、右键菜单事件
- Event事件之键盘事件
- JavaScript事件基础(事件对象,键盘,鼠标,冒泡)
- Event事件对象之动画事件和过渡事件
- Event事件对象
- event-事件对象
- Event 事件对象
- Maven
- eclipse ee 字体大小设置
- ? 实现Runnable
- MySQL之视图
- 完全背包 (求最小值哦)Piggy-Bank
- Event事件对象之鼠标_键盘事件对象
- Android(1):创建第一个android工程文件
- Java分析阻塞队列
- 修改java字节码(.class)文件
- 动态规划--求满足条件的数列
- Redis客户端连接
- NOIP 2005提高组 过河(状压DP) 详解
- 小白-virtualBOx安装Ubuntu16.04->初始化->镜像备份
- mac 终端显示为bogon的解决办法