Координаты мыши
$("div.content").offset() возвратит координаты первого div-элемента с классом content, относительно начала страницы.
$("div.content").position() возвратит координаты первого div-элемента с классом content, относительно ближайшего родителя с заданным позиционированием. А как вычислить координаты мыши в Div! То есть началом отсчета считать угол div! И кликая мышкой чтоб он вывел кординату? x y |
все сделал
$('#click').click(function(e){ var offset = $(this).offset(); var x = e.pageX - offset.left; var y = e.pageY - offset.top; alert(x +', '+ y); }); А теперь ее вопрос почему у меня он выводит x не целым числом? например 2.5 или например 99.5 |
Да и заметил что срабатывает при кликах! если даже сверху элемент наложен!
|
проблему с числами решил через toFixed()
Но проблема с дивами осталась... |
не кто не поможет? )
<div id='id1'> <div id='id2'> </div> </div> При клике по id2 почему то срабатывает будто я кликнул на первый! |
z-index выставил! id1 находиться сзади!
|
Цитата:
заметил что функция клика не так написана, в ней ошибка, что за элемент #click ?... |
Отменяй всплытие событий
|
zebra,
это как? ) я иванушка дурачек) |
Приведите рабочий тестовый пример
|
а вот это тяжко! там много связного кода
примерная структура такая <html> <head> <title></title> <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" /> <meta http-equiv=\"Content-Language\" content=\"ru\"> <link rel=\"stylesheet\" type=\"text/css\" href=\"css/style.css\"> <script type='text/javascript' src='js/jquery.min.js'></script> <script type='text/javascript' src='js/jquery-ui.min.js'></script> <script type='text/javascript'> $(document).ready(function() { $('#click').click(function(e){ var offset = $(this).offset(); var x = e.pageX.toFixed() - offset.left.toFixed(); var y = e.pageY.toFixed() - offset.top.toFixed(); alert(x +', '+ y); }); }); </script> </head> <body> <div id=\"click\"> <!--ШАПКА--> <div id=\"header\"> <link rel=\"stylesheet\" type=\"text/css\" href=\"css/header.css\"> <table> <tr> <td> <img src=\"img/logo.png\"> </td> <td> <div id=\"showTime\"></div> </td> <td> <div class=\"quit\"></div> </td> </tr> </table> </div> <br /> <!--КОНТЕНТ--> <link rel=\"stylesheet\" type=\"text/css\" href=\"css/content.css\"> <div id=\"content\"> <div class=\"content\"> </div> </div> <br /> </div> </body> </html> |
Цитата:
|
Это не тестовый пример, чтобы его можно было запустить. И не понятно что вы хотите, 1 обработчик висит, понятное дело что он сработает
|
zebra,
блин даже незнаю как объяснить! Вообщем я тыкаю на контент! он мне выполняет клик! А я ведь тыкаю на div с другом названием! |
Вы повесили событие на весь див, и всё что внутри него будет вызывать событие. Читать
|
понял и как отключить это на jquery?
|
все откопал
$('название').click(function(event){ event.stopPropagation(); // do something }); Минус если блоков много например у меня 4! то надо писать на все 4 получаеться? |
Наверное да. Всё зависит от задачи
|
zebra, Спасибо огромное! Блин плюсануть не могу) т. к. уже плюсовал)
|
Часовой пояс GMT +3, время: 20:50. |