2016-04-19 24 views
1

ich eine „Schnellansicht“ -Funktion, die eine dynamische URL erfasst auch als „qvURL“ bekannt und schafft eine colorbox mit ihm über:jquery - colorbox - das Hinzufügen einer Funktion zu dem Popup-

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

Jetzt. Ich muss einige Änderungen im untergeordneten Fenster vornehmen - aber es scheint, dass der AJAX oder was auch immer das gesamte DOM löscht, und alles, was ich vom übergeordneten Fenster lade, spiegelt sich nicht wider.

Zum Beispiel - sagen wir, ich möchte nur ein div hinzufügen, das QWERTY sagt! [Ich möchte eigentlich eine mbox um eine Call To Action erstellen]

Jeder Einblick würde sehr geschätzt werden!

Bitte beachten Sie - die URLs, die geladen werden, ist Inhalt, den ich nicht manipulieren kann - also muss es im übergeordneten Fenster getan werden.

Danke!

Bitte siehe unten für meinen vollen Schnipsel:

<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'); 
 
      } 
 
     }); 
 
    }); 
 
\t */ 
 
< /script>

+0

Fügen Sie es auf Plunker/Fiddle und ich kann Ihnen helfen;) –

+0

Hmm - es ist ein bisschen schwer zu tun, da ich den Code auf eine Seite injiziere - das lädt den Aufruf zum Handeln. –

+0

von Kind-Fenster Ich nehme an, Sie meinen den Inhalt der Farbbox? Aber wenn dieser Inhalt außer Kontrolle ist, was versuchen Sie zu erreichen? – fnostro

Antwort

0

ich diese Zeile im Code sehen:

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

und meine erste Frage ist, ob Nicht dass Selektor genug ist. Wohlgemerkt, ich bin eher eine Middleware als ein Client-Side-Guru, aber aufgrund meiner Kenntnis von jQuery wird dieser Selektor nichts tun, weil jQuery nicht sagen kann, was Sie meinen. Sehen Sie, wie Sie die Anführungszeichen in der Zuweisung der Klickfunktion verwendet haben?

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

wenn Sie $ ("# colorbox") verwendet, um das Objekt zu erhalten (wenn das seine ID ist) oder $ ("colorbox" wenn ist aa Klasse, die Sie Targeting sind. (Ich bin kein Experten, wie gesagt, aber diejenigen, die sind sich einig:

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

- Mit freundlicher Genehmigung der DZone jQuery Ref Card bei https://dzone.com/refcardz/jquery-selectors

so kann es sein, dass alles andere in Ordnung ist, Sie übergeben Ihrem Code nichts, um ihn in das colorbox-Objekt einzufügen.

+0

Hallo Joseph! Vielen Dank - der Selektor funktioniert im Moment richtig - bitte beachten Sie den Link unten (Mauszeiger über Bild und die "Schnellansicht") ist dieser Selektor –