JavaScript 学习笔记(十六) js事件


Posted in Javascript onFebruary 01, 2010

回顾
事件对象里包含三个方面的信息····回看上一篇内容!

事件对象里的属性和方法,主要是鼠标和键盘的信息。

1. 获取事件类型

事件对象属性type

2. 获取按键代码

事件对象属性keyCode:回车为13,空格为32,后退键为8

3. 检测Shift、Alt、Ctrl键

事件对象属性是否被按下:shiftKey、altKey、ctrlKey

4. 获取客户端坐标

事件对象属性clientX和clientY

5. 获取屏幕坐标

事件对象属性screenX和screenY

事件的类型
根据触发事件的事物和事件发生的对象,可将浏览器中发生的事件分为几个类型:

一、 鼠标事件

每个鼠标事件都会给以下event对象的属性填入值:

1.坐标属性(如clientX 和 client 等)

2.Type属性

3.Targer(DOM)或serElement(IE)属性(目标对象属性)

4.shiftKey、ctrlKey、altKey和metaKey(DOM)属性

5.button属性(只在mouse事件中)

(oEvent.target || oEvent.srcElement).id逻辑符或操作符作用于两个对象时,第一个对象非空,返回第一个对象,否则返回第二个对象,这里表示的是引起事件的元素的ID。

二、 键盘事件

Keydown --- 在键盘上按下某按键时发生。一直按着某键,它则会不断触发。

Keypress --- 按下一个按键,并产生一个字符时产生(也就是不管类似Shit ctrl alt之类的键。)一直按键时,它会持续发生。

Keyup --- 释放按着的按键时发生

1. 事件的属性

对每个键盘事件,会填入以下的事件属性:

keyCode属性(键位的ASC码值)

charCode属性(仅DOM)

target(DOM)与srcElement(IE)属性

shiftKey、ctrlKey、altKey和metaKey(DOM)属性

2.顺序

当用户按一次某字符按键时,会按以下顺序发生事件:

(1)、keydown;

(2)、keypress;

(3)、keyup;

如果用户按一次某非字符按键(例如shift),会按以下顺序发生事件:

(1)、keydown;

(2)、keyup;

三、 HTML事件

onload、unload、resize、scroll等事件。

四、 突变事件

文档或元素元素的子树的添加删除节点,目前还没有任何主流浏览器实现了它。

Javascript 相关文章推荐
jQuery javaScript捕获回车事件(示例代码)
Nov 07 Javascript
JS去掉第一个字符和最后一个字符的实现代码
Feb 20 Javascript
JSON+Jquery省市区三级联动
Jan 13 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
Aug 02 Javascript
EasyUI创建对话框的两种方式
Aug 23 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
Aug 28 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
Jan 15 Javascript
JavaScript ES6中export、import与export default的用法和区别
Mar 14 Javascript
详解VUE 数组更新
Dec 16 Javascript
vue父组件点击触发子组件事件的实例讲解
Feb 08 Javascript
vue-router路由模式详解(小结)
Aug 26 Javascript
Vue自动构建发布脚本的方法示例
Jul 24 Javascript
js左侧多级菜单动态的解决方案
Feb 01 #Javascript
javascript 三种编解码方式
Feb 01 #Javascript
对字符串进行HTML编码和解码的JavaScript函数
Feb 01 #Javascript
javaScript 关闭浏览器 (不弹出提示框)
Jan 31 #Javascript
javascript让setInteval里的函数参数中的this指向特定的对象
Jan 31 #Javascript
详细讲解JS节点知识
Jan 31 #Javascript
javascript中的array数组使用技巧
Jan 31 #Javascript
You might like
使用PHP实现Mysql读写分离
2013/06/28 PHP
php不写闭合标签的好处
2014/03/04 PHP
php判断数组中是否存在指定键(key)的方法
2015/03/17 PHP
PHP+Mysql分布式事务与解决方案深入理解
2021/02/27 PHP
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
jQuery温习篇 强大的JQuery选择器
2010/04/24 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
jQuery实现checkbox全选的方法
2015/06/10 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
AngularJS基础 ng-open 指令简单实例
2016/08/02 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
vue-cli + sass 的正确打开方式图文详解
2017/10/27 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
Vue模板语法中数据绑定的实例代码
2019/05/17 Javascript
Vuex的实战使用详解
2019/10/31 Javascript
VUE 解决mode为history页面为空白的问题
2019/11/01 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
2020/11/04 Javascript
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
Python简单生成随机姓名的方法示例
2017/12/27 Python
如何为Python终端提供持久性历史记录
2019/09/03 Python
python用requests实现http请求代码实例
2019/10/31 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
Python3将ipa包中的文件按大小排序
2020/04/17 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
数控技术应届生求职信
2013/11/13 职场文书
导游个人求职信范文
2014/03/23 职场文书
“5.12”护士节主持词
2015/07/04 职场文书
2016年小学“公民道德宣传日”活动总结
2016/04/01 职场文书
Consul在linux环境的集群部署
2022/04/08 Servers
MySql分区类型及创建分区的方法
2022/04/13 MySQL