بحاجة إلى البرنامج المساعد JQuery LightBox يدعم $ .Live () والتجمع

StackOverflow https://stackoverflow.com/questions/907771

  •  05-09-2019
  •  | 
  •  

سؤال

أنا أحضر كل صوري عبر Ajax، وأنا أبحث عن إصلاح سريع لإنهاء هذا المشروع الأمامي. لقد جربت بضعة مسافات من JQuery Lightbox Plugins، لكنني لا أستطيع أن أحصل عليها لأداء في وظيفة حية (تصحيحني إذا كنت مخطئا في التفكير في أنني بحاجة إلى القيام بذلك).

حاول حاليا استخدام البرنامج المساعد Lightbox's Baluteon (لا يمكن ربطه بسبب كونه مستخدم جديد)، وبعد محاولة كل الأمثلة دون جدوى، حاولت ذلك مع هذا (لا يعمل أيضا):

$('a.lightbox-gallery').live('click', function(){
    $(this).lightbox();
});

أي مساعدة هي محل تقدير كبير!

هل كانت مفيدة؟

المحلول

1) يمكنك اختراق البرنامج المساعد LightBox إلى BIND على الأحداث الحية 2) يمكنك استدعاء LightBox بعد اكتمال AJAX، فقط على عناصر جديدة:

$.ajax({
    type: "POST",
    url: "url.php",
    cache: false,
    success: function(data){
        $(data).find('a[rel=lightbox]').lightbox(settings).end().appendTo('#ajaxTarget');
    }
}); 

بالنسبة settings يمكنك استخدام صفيف لتجنب ضرب نفس الشيء مرتين؛)

نصائح أخرى

يمكنك استخدام وظيفة Colorbox و GQuery's Live وظيفة مثل هذا

$('a[rel=gallery]').live('click', function() {
  url = this.href; // this is the url of the element event is triggered from
  $.colorbox({href: url});
  return false;
});

يمكنك أيضا إلقاء نظرة على برنامج LiveQuery JQuery Plugin غير ثابت للغاية؛)http://docs.jquery.com/plugins/livequery.يمكنك تضمين هذا البرنامج المساعد داخل ملف jquery واستخدام ذلك كدالة مسج بسيطة:

$('.ajax-loaded-element').livequery('click',function(){

//do somenthing

});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top