Клуб API Карт

onClick в шаблоне балуна

Пост в архиве.

Добрый день, подскажите, как сделать, чтобы событие onClick заработало при клике на ссылку в балуне. Ссылка формируется при создании xml-файла:

 

        <![CDATA[

 <div style="font-size:12px;">

            <div style="font-family:Tahoma,Arial;font-size:14px;"><b>$[name]</b></div>

            <div style="font-family:Tahoma,Arial;font-size:14px;">($[metaDataProperty.AnyMetaData.district])</div>

            <div style="margin-left:3px;font-family:Tahoma,Arial;font-size:12px;">Удаленность от КАД: $[metaDataProperty.AnyMetaData.kad] км</div>

            <div><img src="http:$[metaDataProperty.AnyMetaData.image]" alt="" /></div>

            <div style="margin-top:5px;">

<a rel="nofollow" class="blue_link" target="blank" href="http://u8814306.plsk.regruhosting.ru/info.php?id=$[metaDataProperty.AnyMetaData.id]">Подробная информация</a>&nbsp;&nbsp;

<a rel="nofollow" class="blue_link" href="#" onClick="addToCompare($[metaDataProperty.AnyMetaData.id]);return false;">Сравнение</a></div>

            </div>

 

          </div>

        ]]>

      </text>

 

А то функция addToCompare() не работает при клике. Спасибо.

4 комментария

Все аттрибуты типа onclick вырезаются из шаблона, см. подробнее в документации

Используйте jQuery, onclick это каменный век вэб-разработки

Попытался сделать через jquery, но я не знаток его. Понимаю, нужно что-то такое. В шаблоне прописать, например:

 

Сравнение

 

И добавить обработчик:

   $(document).ready(function()

   {

     $("#captcha").click(function (){

          alert("заработало");

     });

   });

 

Но такой код не работает.

выложите пример который у вас не получается на jsfiddle.net

Дмитрий Сухоносов
28 января 2016, 00:35

 

    var balloonToolLayout = ymaps.templateLayoutFactory.createClass(
        '

\n\
        \n\
       
\n\
            Название:\n\
       
\n\
            \n\
       
\n\
            Описание:el>\n\
       
\n\
           
\n\
            Сохранить\n\
       
', {
            build: function()
            {
                balloonToolLayout.superclass.build.call(this);
                $('#save_button').on('click', {
                    _this: this
                }, this.saveClick);
            },
            clear: function()
            {
                $('#save_button').off('click', this.saveClick);
                balloonToolLayout.superclass.clear.call(this);
            },
            saveClick: function(e)
            {

            }
        }
    );
    ymaps.layout.storage.add('painter#geoBalloonTool', balloonToolLayout);