1

我有一个“快速查看”功能,它捕获一个动态 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 并且我从父窗口加载的任何内容都没有反映。

例如 - 假设我只想添加一个显示 qwerty 的 div![我实际上想围绕号召性用语创建一个 mbox]

任何见解将不胜感激!

请注意 - 它正在加载的 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>

4

1 回答 1

0

我在您的代码中看到了这一行:

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

我的第一个问题是那个选择器是否足够。请注意,我更像是一个中间件而不是客户端专家,但根据我对 jQuery 的了解,该选择器不会做任何事情,因为 jQuery 无法说出你的意思。看看你是如何在 click 函数的赋值中使用引号的?

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

如果您使用 $("#colorbox") 获取对象(如果那是它的 id)或 $(".colorbox" 如果是您要定位的类。(我不是专家,正如我所说,但那些谁同意:

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

-- 由https://dzone.com/refcardz/jquery-selectors上的DZone jQuery 参考卡提供

所以可能其他一切都很好,你只是没有将任何东西传递给你的代码来挂钩到 colorbox 对象。

于 2016-04-19T19:25:42.263 回答