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 相关文章推荐
iis6+javascript Add an Extension File
Jun 13 Javascript
JS学习之一个简易的日历控件
Mar 24 Javascript
jQueryUI中的datepicker使用方法详解
May 25 Javascript
jquery实现拖动效果(代码分享)
Jan 25 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
Jun 29 Javascript
详解angularjs获取元素以及angular.element()用法
Jul 25 Javascript
node文字生成图片的示例代码
Oct 26 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
Jan 29 jQuery
vue实现未登录跳转到登录页面的方法
Jul 17 Javascript
解决angularjs WdatePicker ng-model的问题
Sep 13 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
Apr 10 Javascript
JavaScript中的各种宽高属性的实现
May 08 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语法(5)
2006/10/09 PHP
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
PHP中如何使用Redis接管文件存储Session详解
2018/11/28 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
JS动画效果代码3
2008/04/03 Javascript
基于JavaScript实现右键菜单和拖拽功能
2016/11/28 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
2017/03/08 Javascript
jQuery实现键盘回车搜索功能
2017/07/25 jQuery
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
原生JS实现相邻月份日历
2020/10/13 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
Python实现的随机森林算法与简单总结
2018/01/30 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
python设置环境变量的原因和方法
2019/06/24 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
医院检讨书范文
2014/02/01 职场文书
护理专科自荐书范文
2014/02/18 职场文书
经典广告词大全
2014/03/14 职场文书
2015年女工委工作总结
2015/07/27 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
python和anaconda的区别
2022/05/06 Python
Python 文字识别
2022/05/11 Python