PDA

Показать полную графическую версию : события onclick


scazy
23-07-2005, 22:47
Есть таблица,
<table><tr><td><img src=photo.jpg onclick=myfunc()></td></tr></table>
<script>
function myfunc(){
......
......
}
</script>

надо получить координаты нажатия мыши на картинке, начиная от угла имиджа, а не от края документа или слоя, если он был бы

vadimiron
24-07-2005, 00:19
А для чего нужны координаты??

scazy
24-07-2005, 00:27
для передачи в JS-фунция а дальше посредство XMLHttpReqest на сервак

NoOne
24-07-2005, 13:48
Прошу прощение, что не в тему, но у меня слишком простой вопрос, что бы создавать новую тему из за него.
При нажатии на ячейку таблицы, id этой ячейки должен присвоиться переменной. Как это сделать?
Точнее, как узнать, на какой id нажал пользователь?
-----
Спасибо, вопрос решен:

onClick="myfunc(this.id);"
function myfunc(x) {
...
}

Prisoner
24-07-2005, 22:59
function findPosX(obj)
{
var curleft = 0;
if (obj.offsetParent)
{
while (obj.offsetParent)
{
curleft += obj.offsetLeft
obj = obj.offsetParent;
}
}
else if (obj.x)
curleft += obj.x;
return curleft;
}

function findPosY(obj)
{
var curtop = 0;
if (obj.offsetParent != null)
{
while (obj.offsetParent)
{
curtop += obj.offsetTop
obj = obj.offsetParent;
}
}
else if (obj.y)
curtop += obj.y;
return curtop;
}
Функции вернут координаты объекта (левый верхний угол). На основе данных функций и имеющихся координат относительно документа можно вычислить координаты клика относительно изображения.

scazy
25-07-2005, 12:22
если я не ошибаюсь, то это код не будет работать в браузерах с поддержкой DOM 2

Prisoner
25-07-2005, 13:32
Причины?

scazy
25-07-2005, 21:10
сорри, все работает, даже просто великолепно, огромное спасибо, координаты вычесленны




© OSzone.net 2001-2012