Невозможно привязать событие клика во всплывающем окне Leaflet

Я использую Leaflet для рисования карты, во всплывающих окнах я добавил ссылку, которая должна вести к более подробному описанию, описание отделено от карты и организовано в список с помощью аккордеона, поэтому каждое описание скрыто.

Я могу использовать привязку для ссылки на содержимое аккордеона, но мне нужно выполнить некоторый JavaScript onclick, поэтому я пытаюсь добавить clickобработчик событий -, он не работает.

Вот мой код:




    Leaflet Quick Start Guide Example
    
    
    
    

    
    




    


List made using JQuery UI accordion, every element is hidden, only on hover it opens, you can click on it to display on map, reverse cliking on map should aopen accordion list description (this), it's currently done using permalinks because I cannot catch click event on a or span tag.

Ioff :: **** ***

Detailed data


Us sb :: **** ***

Detailed data


Ioff :: **** ***

Detailed data


Us sb :: **** ***

Detailed data

вы можете проверить это на JS Fiddle

Я сообщил об этом как об ошибке на github разработчику Leaflet здесь и здесь , но он закрыл ошибку, ответив, что это не проблема, и я могу использовать другойclass-что не работает.

Изменить :Я тоже нашел кое-что самостоятельно:http://jsfiddle.net/M5Ntr/12/ Но все же есть проблема, потенциально может быть 500 точек, поэтому хотелось бы иметь как можно меньше кода, я пытался создать функцию, но не могу передать переменные:(

это работает

point["point_111_11"] = new L.Marker(new L.LatLng(51.4800166666667,-0.43673)).bindPopup("Ioff 
**** ***").on('click', function (e) { console.log("clicked (Try to open Accordion): " + e.target) });

но это предпочтительнее (не работает):

point["point_111_11"] = new L.Marker(new L.LatLng(51.4800166666667,-0.43673)).bindPopup("Ioff 
**** ***").on('click', myfunction('point_111_11')); function myfunction(seclectedId){ //do something with seclectedId console.log(seclectedId) }

или даже

point["point_111_11"] = new L.Marker(new L.LatLng(51.4800166666667,-0.43673)).bindPopup("Ioff 
**** ***").myBindFunction('point_111_11')

что будет делать.on ('щелчок' )или что-то подобное внутри...

9
задан Radamanf 2 July 2012 в 15:40
поделиться