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;
};
4834

被折叠的 条评论
为什么被折叠?



