У меня есть карта листовка в рабочем состоянии. Он накладывает на карту ряд полигонов (через GeoJSON) и прикрепляет всплывающие окна к каждому полигону. Каждое всплывающее окно отображает информацию об этом многоугольнике.Нажмите ссылку внутри всплывающего окна и сделайте Javascript
Я хотел бы иметь внутри всплывающего окна ссылку, которая при нажатии запускает функцию javascript, которая тянет более мелкие полигоны через AJAX и показывает их.
Я не могу заставить скрипт поймать щелчок по ссылке через обычные события jQuery/Javascript. Вот что я имею в виду под нормальным (следующее не работает):
Часть bindPopup заключается в следующем. Он запускается на каждом полигоне, когда он сделан, и он всплывает правильно при нажатии на полигон. Он показывает ссылку, просто не будет запускать вышеуказанный код при нажатии.
var popupContent = "Basic Information..." + '<a class="smallPolygonLink" href="#">Click here to see the smaller polygons</a>';
layer.bindPopup(popupContent);
Вот пример JSFiddle, иллюстрирующий пример, хотя и в гораздо более простой форме. http://jsfiddle.net/2XfVc/4/
Как бы я изменить это, чтобы добавить текст или содержание, которое не кликабельны? Например. Имя: xxxx, Возраст: xxxx, Нажмите ссылку для получения более подробной информации. Если только слово «ссылка» является кликабельным. Кроме того, что делает часть [0]? Я не могу найти ссылку в jQuery click api. – Josh
@Josh Просто добавьте другие элементы вместе с кликабельными. Вот демонстрация: http://jsfiddle.net/2XfVc/8/. Часть '[0]' просто получает узел DOM из коллекции jQuery, так как листочка принимает стандартные узлы DOM, но не коллекции jQuery. –
Awesome. Я изменил его на '.html()' вместо '.text()', чтобы появилось некоторое форматирование html, но в остальном это было идеально. Благодарю. – Josh