JavaScript获取事件源
- var node = evt.currentTarget || evt.srcElement;
- var obj = event.srcElement ? event.srcElement : event.target;
加强版:
- var eventTarget = event.srcElement || event.target || event.toElement|| event.currentTarget
范例:
- var event = window.event || ev;//兼容ie7 8
- cleanUpDefaultEvent(event);//清除默认事件
- var target2 = event.srcElement || event.target || event.toElement;
- var position = {x: 0, y: 0};
- var imgObj = target2;
- getRelativePosition = helpers.getRelativePosition = function(evt){
- var mouseX, mouseY;
- var e = evt.originalEvent || evt,
- canvas = evt.currentTarget || evt.srcElement||evt.target||evt.toElement,
- boundingRect = canvas.getBoundingClientRect();
- if (e.touches){
- mouseX = e.touches[0].clientX - boundingRect.left;
- mouseY = e.touches[0].clientY - boundingRect.top;
- }
- else{
- mouseX = e.clientX - boundingRect.left;
- mouseY = e.clientY - boundingRect.top;
- }
- return {
- x : mouseX,
- y : mouseY
- };
- }
封装成为函数:
- /***
- * 获取事件源
- * @param evt
- * @returns {*|Object}
- */
- getSrcElement = function (evt) {
- var event = window.event || evt;//兼容ie7 8
- var eventTarget = event.srcElement || event.target || event.toElement || event.currentTarget;
- return eventTarget;
- };