Какому area принадлежит позиция точки ?
Нужно определить по введенным координатам (от перемещаемого над Мап-картой dragable blocka) к какому area принадлежит данная точка,
Пробовал через $(document.elementFromPoint(X,Y) - кажет всегда только единственный елемент, Мап-карту, (Пробовал поднимать z-index(om) area или обертку area - пофег... (кроме гугол хрома, у него area изначально выше всех) Как отследить какому area принадлежит позиция (исключая пересчет координат area) ? |
<!DOCTYPE HTML> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> </head> <body> <script type="text/javascript"> var onlineUserList=[]; // Cписок Юзеров и их локаций //$(document).ready(function(){ }); function Funk (){ //Функция, исполняемая по загрузке карты var Areas=[], ArrSpan=[] $("#karta-00 area").each(function(i){ $(this).wrap('<span id="Span'+i+'" style="display:inline:block;bopder:red solid 1px;z-index:100;display:inline-block;position:relative" onclick="alert('+i+'Span)"></span>'); $(this).get(0).setAttribute('onclick','alert(\''+i+'X\')'); var a=$(this).parent();// var a=$(this).parents('#karta-00') alert('top area:'+a.position().top+' Left area:'+a.position().left); }); alert($('#div').height()); $(document.elementFromPoint(500,300)).click()//alert(alert(click(); $( '#div' ).on( 'click', 'Span', function( e ) { alert( e.target.href ); }); } </script> <div id="div" style="z-index:99;position:absolute width:100%;height:100%;bopder:red solid 1px;" onclick="alert('A')"> <map style="z-index:100;position:relative" id="karta-00" name="karta" style="z-index:100;position:relative" > <area href="/" shape="rect" coords="0,0,250,150" title="В оглавлении форума"> <area href="/f1-forum" shape="rect" coords="250,0,500,150" title="Ваш первый форум"> <area href="/viewonline" shape="rect" coords="0,150,500,300" title="Просматривает «Кто сейчас на форуме»"> </map> <img src="http://s017.radikal.ru/i416/1302/69/20132fd94fd6.jpg" style="z-index:0;position:relative" usemap="#karta" border="0" onload="Funk()" onclick="alert('Увидел, что был Клик по карте')/**/"> </div> </body> </html> |
Цитата:
|
nerv_], Cпс,
Цитата:
В принципе события не всегда есть от юзера - драгабле пустили - он плывет сам по себе, area в момент запуска - вроде итак известен(а далее он должен удариться об край некого ареа (вот тут и нужна фиксация), для прямоугольников конечно можно просчитать все регионы и дать массив границ, а для сложно карты... (Думал генерить событие с hover c текущей координатой, дык - карта их перехватывает(если программное событие, кроме Хрома) |
я про
$( 'map' ).on( 'mousemove', 'area', function( e ) { console.log( e.target.href ); }); |
Попробую, ...
|
Чот не получается программно точку наведения перемещать
document.elementFromPoint(X,Y) получает всегда мап карту(<img usemap="ZZ"> ,если X,Y в её пределах)... а не area mousemove не передается Наверно нужен иной способ перемещения координаты псевдонаведения над картой Кажется Появилясь идея Как делегировать вначале на Map, а не на IMG |
Часовой пояс GMT +3, время: 22:38. |