jquery - colorbox - добавление функции во всплывающее окно

У меня есть функция "быстрого просмотра", которая захватывает динамический URL-адрес, также известный как "qvURL", и создает с ним цветовую коробку через:

    <script type="text/javascript">
    $(function(){
        $(".quickview_btn").click(function(e){
            e.preventDefault();
            var qvURL = $(this).attr("href");
            $.colorbox({"href": qvURL})
        });
        $.colorbox.resize();
    });
</script>

Сейчас. Мне нужно внести некоторые изменения в дочернее окно - но кажется, что AJAX или что-то еще уничтожает весь DOM, и все, что я загружаю из родительского окна, не отражает.

Например - скажем, я просто хочу добавить div с надписью qwerty! [Я на самом деле хочу создать mbox вокруг Call To Action]

Любое понимание будет с благодарностью!

Обратите внимание: URL-адреса, которые он загружает, являются содержимым, которым я не могу манипулировать, поэтому это нужно сделать в родительском окне.

Спасибо!

Пожалуйста, смотрите ниже мой полный фрагмент:

<script>
$( document ).ready(function() {

  $('.quickview_btn').click(function(){




  //Quickview tracking
  $('.quickview').attr('id', 'quickviewClicked-area');

  mboxDefine('quickviewClicked-area','quickviewClicked','clicked=Y');

$( 'div.quickview' ).bind( 'click', function() {
  console.log('clicked!');
  product = $(this).children().attr('href');
  console.log(product)

    mboxUpdate('quickviewClicked', "link="+product);  
 });



//thumbnail add to cart tracking




$('div.add-to-cart').attr('id', 'ThumbnailAddToCart-area');

mboxDefine('ThumbnailAddToCart-area','ThumbnailAddToCartClicked','clicked=Y');

$( 'div.qlBtns' ).bind( 'click', function() {
;


    mboxUpdate('ThumbnailAddToCartClicked', "clicked=Y");  
    console.log('mbox updated!')
});


});

});

/*
 $(document).ready(function(){
        $(qvURL).$colorbox({
            iframe : true,
            frastIframe: false,
            onComplete: function(){
                $('.name').html('yeah you got it');
            }
        });
    });
    */
</script>

< script >
  $(document).ready(function() {

    $('.quickview_btn').click(function() {



      //Quickview tracking
      $('.quickview').attr('id', 'quickviewClicked-area');

      mboxDefine('quickviewClicked-area', 'quickviewClicked', 'clicked=Y');

      $('div.quickview').bind('click', function() {
        console.log('clicked!');
        product = $(this).children().attr('href');
        console.log(product)

        mboxUpdate('quickviewClicked', "link=" + product);
      });



      //thumbnail add to cart tracking




      $('div.add-to-cart').attr('id', 'ThumbnailAddToCart-area');

      mboxDefine('ThumbnailAddToCart-area', 'ThumbnailAddToCartClicked', 'clicked=Y');

      $('div.qlBtns').bind('click', function() {;


        mboxUpdate('ThumbnailAddToCartClicked', "clicked=Y");
        console.log('mbox updated!')
      });


    });

  });

/*
 $(document).ready(function(){
        $(qvURL).$colorbox({
            iframe : true,
            frastIframe: false,
            onComplete: function(){
                $('.name').html('yeah you got it');
            }
        });
    });
 */
< /script>

1 ответ

Я вижу эту строку в вашем коде:

  $.colorbox({"href": qvURL})

и мой первый вопрос - достаточно ли этого селектора. Имейте в виду, что я скорее посредник, чем гуру на стороне клиента, но из моего знания jQuery этот селектор ничего не сделает, потому что jQuery не может сказать, что вы имеете в виду. Видите, как вы использовали кавычки в назначении функции щелчка?

 $(".quickview_btn").click(function(e){
        e.preventDefault();

если вы использовали $("#colorbox"), чтобы получить объект (если это его идентификатор) или $(".colorbox", если это класс, на который вы нацелены. (Я не эксперт, как я уже говорил, но те, кто согласен

$(".someClass") selects all elements with class name someClass
$("#testButton") selects the element with the id value of testButton

- Предоставлено справочной картой DZone jQuery по адресу https://dzone.com/refcardz/jquery-selectors

Так что, может быть, все остальное в порядке, вы просто не передаете свой код, чтобы что-то подключить к объекту colorbox.

Другие вопросы по тегам