触发器('close')不能使用带有ajax html内容的lightbox_me

时间:2013-10-02 15:54:04

标签: javascript jquery html ajax

我有HTML内容,当ajax被触发时会添加到DOM中。我想在成功响应时关闭灯箱,但它没有关闭。

$(document).on("click", ".enquiry_form_submit" ,function(){
  var str = $("form#new_enquiry").serialize();
  $.ajax({
    type: "POST",
    url: "/enquiries",
    data: str,
    success: function(data){
      $('#enquiry-form').trigger('close');
      alert("test");
      $('#enquiry-form-submitted-info').lightbox_me({
        centered: true, 
        closeClick: true,
        closeEsc:   false,
        onLoad: function() { 
          $("#enq-form_submit-info").html(data)
        }
      });
    }
  });
  return false
});

trigger('close')无效

enquiry_form是灯箱

2 个答案:

答案 0 :(得分:0)

$('#enquiry-form').trigger('close');

你试图调用close-method of inquiry-form,这是错误的。

你必须打电话给

$('.close').click();

如果关闭链接具有名为close

的类

答案 1 :(得分:0)

如何关闭jquery灯箱

转到编写它的人的来源,那里有一个基本的例子:

http://buckwilson.me/lightboxme/

如果您按照以下方式定义了灯箱:

$('#my_lightbox').lightbox_me({
      centered: true,
      onLoad: function() {
        //statements to configure how the lightbox looks
      }
});

然后你可以这样关闭它:

$('#my_lightbox').on('click', function(){
  $('#my_lightbox').trigger('close');
});

所以你用jquery捕获灯箱本身的click事件。您正在该事件上运行一个函数。然后你得到灯箱所在的id,然后告诉灯箱自己关闭。你可以将它挂钩到任何事件。