Вопрос по hyperlink, lightbox, caption – превращение заголовка в ссылку не работает в Lightbox 2.51

6

Превращение заголовка в ссылку не работает в Lightbox 2.51, загруженном сВот
Вот код:

<a href="images/examples/image-1.jpg" rel="lightbox" 
  title="&lt;a target='_self' href='http://www.google.com'&gt;Google&lt;/a&gt;">
  <img src="images/examples/thumb-1.jpg" alt="" />
</a>

Что я должен делать?
Спасибо :)

Ваш Ответ

4   ответа
1

Попробуйте использовать JavaScript в теге

OnClick = & Quot; window.location.href = & APOS; HTTP: //www.google.com' & Quot;

Образец

    <a href="images/examples/image-1.jpg" rel="lightbox" 
  title="&lt;a target='_self' onClick=&quot;window.location.href=&#x27;http://www.google.com&#x27;&quot;   href='http://www.google.com'&gt;Google&lt;/a&gt;">
 <img src="images/examples/thumb-1.jpg" alt="" />
</a>
0

Я не смог получить ни одного ответа здесь, чтобы работать на меня. Тем не менее, я обнаружил, чтоSlimbox2 действительно работает и очень просто поменять местами, так как использует тот же синтаксис.

3

Я нашел то, что я считаю лучшим решением, чем перечисленные выше, с помощью Lightbox 2 версии 2.6. В строке 252 файла lightbox.js (unminified) вы увидите эту строку, в которой добавлена подпись:

this.$lightbox.find('.lb-caption').html(this.album[this.currentImageIndex].title).fadeIn('fast');

После добавления заголовка вы можете зарегистрировать событие click и заставить браузер переходить по любой ссылке в заголовке, добавляя в цепочку следующее:

this.$lightbox.find('.lb-caption').html(this.album[this.currentImageIndex].title).fadeIn('fast').find('a').on('click', function() { location.href = $(this).attr('href') });

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

11

Я нашел решение этой проблемы вlightbox.js. You must edit the if случай, добавивelse условие, чтобы избежать всегда возвращатьсяfalse когда вы нажимаете вdiv & Quot; лайтбокс & Quot; ,

 $lightbox.hide().on('click', function(e) {
    if ($(e.target).attr('id') === 'lightbox') { 
        _this.end();
        return false;
    }
    else { // HERE
        return true; 
    }
  });
Этот метод, вероятно, будет работать в большинстве случаев, но я думаю, что он может иметь некоторые непреднамеренные побочные эффекты, потому что он будет влиять на все клики, которые всплывают до лайтбокса. В свой ответ ниже я добавил более ограниченное вмешательство, которое будет регистрировать событие только по ссылкам внутри заголовка.

Похожие вопросы