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.