Программирование > JavaScript & JScript
onclick и другое
(1/1)
0b0rm0t:
У меня проблема. Был скрипт, который вызывался онкликом (у боди). Он использовал свойства offsetx/y. И все для того, чтобы при этом самом онклике рядом с мышью появлялся какой-то объект (через стиль - position:absolute; left:...; top:...).
Кликал я просто в разные места текста и все было хорошо. А тут вот выяснилось, что если ткнуть во что-нибудь, что находится в таблице (и, наверное, не только в таблице), то offset будет считаться от ее (хотя онклик по-прежнему у боди), и координаты будут гонимые.
Итак, проблема: как расположить объект рядом с мышью? (По сути - как найти настоящие координаты мыши)
Путей выхода вижу три:
1. заставить для нужного куска текста offset считать от боди. Тогда все сразу заработает. Но как?
2. Ставить то, что появляется рядом с мышью не в конкретное место на странице, а в конкретное место на экране/в окне. Тогда будет достаточно screenx/clientx. Но как это сделать? Я думал, что для этого и нужно Position:static, но оно просто висит на странице, как и relative (обычный текст).
3. Еще можно как-нибудь найти координаты этой таблицы. Но тоже - как?
Подскажите, очень надо.
И еще: кто-нить знает, чем event.x от event.clientX отличается?
Werwolf13:
function func1()
{
var ActualX = event.clientX;
var ActualY = event.clientY;
// тут с ними уже делаешь, чтоо оебе надо...
}
0b0rm0t:
Не прокатит такое. Изменяем твой пример так:
text1
text2
function f()
{
alert(event.clientX+" "+event.clientY)
}
Ничего не изменилось? А теперь ткни на строчку текста и посмотри, что выпадет.
Подсказка: координата Y будет отсчитаваться от угла ОКНА, следовательно - непригодна к использованию.
Хотя помощь уже не нужна - в FAQ ответ валялся.
Навигация
Перейти к полной версии