javascript获取事件源

简介:

JavaScript获取事件源

Js代码   收藏代码
  1. var node = evt.currentTarget || evt.srcElement;  
  2. var obj = event.srcElement ? event.srcElement : event.target;  

 

加强版:

Js代码   收藏代码
  1. var eventTarget = event.srcElement || event.target || event.toElement|| event.currentTarget  

 范例:

Js代码   收藏代码
  1. var event = window.event || ev;//兼容ie7 8  
  2.             cleanUpDefaultEvent(event);//清除默认事件  
  3.             var target2 = event.srcElement || event.target || event.toElement;  
  4.             var position = {x: 0, y: 0};  
  5.             var imgObj = target2;  

 

Js代码   收藏代码
  1. getRelativePosition = helpers.getRelativePosition = function(evt){  
  2.             var mouseX, mouseY;  
  3.             var e = evt.originalEvent || evt,  
  4.                 canvas = evt.currentTarget || evt.srcElement||evt.target||evt.toElement,  
  5.                 boundingRect = canvas.getBoundingClientRect();  
  6.   
  7.             if (e.touches){  
  8.                 mouseX = e.touches[0].clientX - boundingRect.left;  
  9.                 mouseY = e.touches[0].clientY - boundingRect.top;  
  10.   
  11.             }  
  12.             else{  
  13.                 mouseX = e.clientX - boundingRect.left;  
  14.                 mouseY = e.clientY - boundingRect.top;  
  15.             }  
  16.   
  17.             return {  
  18.                 x : mouseX,  
  19.                 y : mouseY  
  20.             };  
  21.   
  22.         }  

  

封装成为函数:

Js代码   收藏代码
  1. /*** 
  2.  * 获取事件源 
  3.  * @param evt 
  4.  * @returns {*|Object} 
  5.  */  
  6. getSrcElement = function (evt) {  
  7.     var event = window.event || evt;//兼容ie7 8  
  8.     var eventTarget = event.srcElement || event.target || event.toElement || event.currentTarget;  
  9.     return eventTarget;  
  10. };  

 

相关文章
|
2月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
27 0
|
2月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
77 0
|
2天前
|
JavaScript 前端开发 测试技术
学习JavaScript
【4月更文挑战第23天】学习JavaScript
9 1
|
9天前
|
JavaScript 前端开发 应用服务中间件
node.js之第一天学习
node.js之第一天学习
|
1月前
|
运维 JavaScript 前端开发
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
|
1月前
|
JavaScript
Vue.js学习详细课程系列--共32节(4 / 6)
Vue.js学习详细课程系列--共32节(4 / 6)
35 0
|
1月前
|
前端开发 搜索推荐 JavaScript
编程笔记 html5&css&js 001 学习编程从网页开始
编程笔记 html5&css&js 001 学习编程从网页开始
|
2月前
|
前端开发 JavaScript
从零开始学习前端开发:HTML、CSS、JavaScript入门指南
【2月更文挑战第1天】本文将带领读者从零开始学习前端开发,介绍HTML、CSS和JavaScript的基础知识与应用,帮助读者快速入门前端开发领域。
64 1
|
2月前
|
数据采集 机器学习/深度学习 JavaScript
画【Python折线图】的一百个学习报告(二、pyecharts引入js文件)
画【Python折线图】的一百个学习报告(二、pyecharts引入js文件)
51 0
|
2月前
|
JSON 前端开发 JavaScript
Webpack【Webpack图片处理、Webpack中proxy代理 、自动清理dist、Webpack优化、JavaScript中的代码检查】(三)-全面详解(学习总结---从入门到深化)
Webpack【Webpack图片处理、Webpack中proxy代理 、自动清理dist、Webpack优化、JavaScript中的代码检查】(三)-全面详解(学习总结---从入门到深化)
35 0
Webpack【Webpack图片处理、Webpack中proxy代理 、自动清理dist、Webpack优化、JavaScript中的代码检查】(三)-全面详解(学习总结---从入门到深化)