触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息:

普通浏览器支持 event(传参),IE678支持 window.event(无参),兼容写法:

<script>
var divEle = document.getElementsByTagName("div")[0];
divEle.onclick = function (e) {
e = e || window.event;
console.log(e);
}
</script>

client、page、screen三者之间的区别:

clientX/clientY:当前窗口(可视区域)的左上角为基准点

pageX/pageY:在不拖动情况下同上,在拖动的情况下,会越来越大

screenX/screenY:当前屏幕左上角为基准点

pageX、pageY在IE678中不支持,兼容写法:被卷去的部分+可视区域坐标

<script>
document.onclick = function (e) {
e = e || window.event;
var pageY = e.pageY || scroll().top + e.clientY;
console.log(pageY);
} function scroll() {
return {
"top": window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop,
"left": window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft
};
}
</script>

特别补充:offsetX/offsetY,以触发事件的元素左上角为基准点

<script>
var divEle = document.getElementsByTagName("div")[0];
divEle.onclick = function (e) {
e = e || window.event;
console.log(e.offsetY);
}
</script>

 

最新文章

  1. 2016-2017-2 《Java程序设计》预备作业2总结
  2. iOS学习之MVC,MVVM,MVP模式优缺点
  3. 基于 HTTP/2 的全新 APNs 协议
  4. 在SSH框架中使用Spring的好处
  5. Learning Lua Programming (2) Lua编程基础
  6. 如何使用KMS激活win10和office
  7. Beanstalkd介绍
  8. BTE 增强
  9. IP地址分类百科
  10. b64_md5加密Java、JavaScript实现
  11. 通讯协议序列化解读(一) Protobuf详解教程
  12. JDK1.8 HashMap源码分析
  13. Linux history显示时间/用户/ip的设置
  14. Atitit 华为基本法 attilax读后感
  15. 从零开始学 Web 之 移动Web(一)屏幕相关基本知识,调试,视口,屏幕适配
  16. k8s部署prometheus
  17. 【Java】身份证号码验证
  18. Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks(paper)
  19. 青蛙的约会(poj1061+欧几里德)
  20. spring-boot 实现文件上传下载

热门文章

  1. raywenderlich.com的Swift编程风格指南
  2. UVa 489 Hangman Judge(字符串)
  3. 分布式消息服务DMS如何实现死信消息的消费
  4. HTTP的GET和POST请求
  5. SOJ.Output the Yanghui triangel
  6. Why is processing a sorted array faster than an unsorted array(Stackoverflow)
  7. 【C语言】不使用大小于号,求出两数最大值
  8. 20170623_oracle备份和恢复_常见问题
  9. tiny4412 裸机程序 八、重定位到DRAM及LCD实验【转】
  10. 【NYOJ42】一笔画问题