浅谈Javascript事件对象


Posted in Javascript onFebruary 05, 2017

如果是事件处理函数绑定的函数,浏览器会默认传递一个参数,而这个参数就是事件对象。

document.onclick = function() {
 alert(arguments.length); //1
}

因为arguments[0]这样使用这个参数比较麻烦,所以我们可以传递一个参数evt来进行使用。

document.onmouseup = function(evt) {
 var e = evt || window.event;
 alert(e.button); //0为鼠标左键,1为滚轮,2为右键
 //基于浏览器可视区左上角的位置
 alert(e.clientX + ',' + e.clientY);
 //机器的分辨率
 alert(window.screen.width + ',' + window.screen.height);
 // 离屏幕左上角的位置
 alert(e.screenX + ',' + e.screenY);
}
//侦测按键
document.onclick = function(evt) {
 alert(getKey(evt));
}
function getKey(evt) {
 var e = evt || window.event;
 var keys = [];
 if (e.shiftKey) {
 keys.push('shift');
 }
 if (e.ctrlKey) {
 keys.push('ctrl');
 }
 if (e.altKey) {
 keys.push('alt');
 }
 return keys;
}
//键盘事件,keydown是按下任意键,keyup是弹起任意键,keypress按下字符键触发
//键码:键盘上任意键,全兼容
//字符编码:可以输出的字符的键,IE不兼容
document.onkeydown=function(evt){
 var e = evt || window.event;
 alert(e.keyCode); //keyCode返回键码
 }
document.onkeypress = function(evt) {
 var e = evt || window.event;
 alert(e.charCode);  //charCode返回字符键码
 }
document.onclick = function(evt) {
 var e = evt || window.event;
 alert(e.target.innerHTML);  //点到哪里target就选中哪个元素
 }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
Extjs Ajax 乱码问题解决方案
Apr 15 Javascript
jquery乱码与contentType属性设置问题解决方案
Jan 07 Javascript
禁止页面刷新让F5快捷键及右键都无效
Jan 22 Javascript
JS+CSS实现Li列表隔行换色效果的方法
Feb 16 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
Nov 29 Javascript
ajax分页效果(bootstrap模态框)
Jan 23 Javascript
node使用Koa2搭建web项目的方法
Oct 17 Javascript
JavaScript实现左侧菜单效果
Dec 14 Javascript
Vue中props的详解
May 16 Javascript
vue使用keep-alive实现组件切换时保存原组件数据方法
Oct 30 Javascript
如何封装Vue Element的table表格组件
Feb 06 Vue.js
详解JS WebSocket断开原因和心跳机制
May 07 Javascript
js中创建对象的几种方式
Feb 05 #Javascript
js实现增加数字显示的环形进度条效果
Feb 05 #Javascript
JS实现复制内容到剪贴板功能
Feb 05 #Javascript
js实现适合新闻类图片的轮播效果
Feb 05 #Javascript
BootStrap table删除指定行的注意事项(笔记整理)
Feb 05 #Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
Feb 05 #Javascript
thinkjs之页面跳转同步异步操作
Feb 05 #Javascript
You might like
深入理解PHP JSON数组与对象
2016/07/19 PHP
JavaScript格式化数字的函数代码
2010/11/30 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
JavaScript输入邮箱自动提示实例代码
2014/01/13 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
jQuery调用Webservice传递json数组的方法
2016/08/06 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
JavaScript设计模式之构造函数模式实例教程
2018/07/02 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
Vue项目打包编译优化方案
2020/09/16 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
[03:15]DOTA2-DPC中国联赛1月22日Recap集锦
2021/03/11 DOTA
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
python中根据字符串调用函数的实现方法
2016/06/12 Python
VScode编写第一个Python程序HelloWorld步骤
2018/04/06 Python
对python中两种列表元素去重函数性能的比较方法
2018/06/29 Python
python使用tornado实现简单爬虫
2018/07/28 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
2018/12/05 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
基于Pytorch SSD模型分析
2020/02/18 Python
结束运行python的方法
2020/06/16 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
测试工程师岗位职责
2013/11/28 职场文书
市场调查策划方案
2014/06/10 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
就业协议书范本
2014/10/08 职场文书
会议开幕词
2015/01/28 职场文书
有关西游记的读书笔记
2015/06/25 职场文书
队列队形口号
2015/12/25 职场文书
详解MySQL集群搭建
2021/05/26 MySQL
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python