JavaScript: event.offsetX еквивалент за DOM 2?

1 отговора 62 прегледа
#1

JavaScript: event.offsetX еквивалент за DOM 2?

Някой знае ли еквивалент на event.offsetX (event.offsetY) в DOM 2? Значи в IE тези неща работят, но когато стане въпрос за Mozilla, нещата не са същите. Event обекта на Mozilla е по DOM 2 спецификацията и няма offsetX и offsetY свойства. Как мога да изчисля (с кое свойство да заменя) offsetX по DOM 2 спецификацията?

ACTPOHOM
Отговор
в отговор на ACTPOHOM #2

Re: JavaScript: event.offsetX еквивалент за DOM 2?

Докато чакам някой да ми помогне си помогнах сам ;-)
Ето какво изрових с Google:
[линк].

За архива ще представя примерен код, който илюстрира идеята. В обработчика на събитието се поставя следния код:

function eventHandler(e) {
if (window.event) // IE
alert(window.event.offsetX + ':' + window.event.offsetY);
else if (e.target) { // Mozilla, DOM 2
var coords = {x: 0, y: 0};
var el = e.target;
do {
coords.x += el.offsetLeft;
coords.y += el.offsetTop;
}
while ((el = el.offsetParent));
var offsetX = e.clientX - coords.x;
var offsetY = e.clientY - coords.y;
alert(offsetX + ':' + offsetY);
}
}

Работи еднакво добре с Mozilla и Konqueror. Наздраве !!!

ACTPOHOM
Отговор