2009-06-16 2 views
1

В JS, как я могу получить координаты мыши внутри DIV? если я использую event.pageX, он будет работать только в том случае, если DIV находится в верхнем левом углу страницы ... в противном случае мне нужно знать положение DIV на странице и вычесть из него event.pageX. Это трудно сделать, когда я генерирую DIVs динамически, так как я должен следить за положением каждого DIV. Есть идеи?В JS, как я могу получить координаты мыши внутри DIV?


Похоже event.layerX и event.layerY работает найти в FF, если я определить DIV с абсолютным позиционированием. Вот небольшой пример:

http://www.zangware.com/divpos.html

Но в IE, event.layerX/Y не определено внутри DIV. Есть идеи?

ответ

3

Это звучит так, как будто вы ответили на свой вопрос. Я не знаю никаких ярлыков для нахождения позиции курсора изнутри div проще, чем вычитание координат x и y мыши из координат x и y верхнего левого угла div. Просто убедитесь, что вы кэшируете местоположение div, когда оно изменяется, чтобы избежать поиска DOM каждый раз, когда курсор мыши перемещается.

+0

Да, ну, мне было интересно, есть ли ярлык :) – 1qazxsw2

1

Это не слишком сложно. Каждый элемент имеет свойство offsetTop и offsetLeft. Вы можете использовать это с текущей позицией мыши, чтобы определить относительное положение.

Смежные вопросы