2015-04-16 155 views
0

我需要触发点击fancybox并发送参数追加到fancybox。Fancybox触发点击参数

我TRIGER,并尝试以这种方式通过PARAMS:

var params = {}; 
$("#selector").trigger("click", params); 

我能获得PARAMS。但我如何将它们追加到fancybox .fancybox-iframe?点击事件不是.fancybox-iframe可访问的。

$("#selector").fancybox({ 
      type: "iframe", 
      width: "450", 
      height: "430"}, 
}).click(function(event, params) { 
    console.log(params); 
}); 

的fancybox .fancybox的iframe是accessable这样的:

$("#selector").fancybox({ 
    afterLoad: function(obj){ 
    console.log(obj.content); 
    } 
}); 

但我还没有触发PARAMS。

有人知道这个问题的简单解决方法吗?

+0

这似乎是一个常见的问题,我很惊讶,他从来没有处理。 – tomasr

回答

0

这是解决方案:

$(document).on('click', '#selector', function(e, params) { 
    $this = $(this); 
    $.fancybox({ 
    height: '100%', 
    href: $this.attr('href'), 
    type: 'iframe', 
    width: '100%', 
    afterLoad: function(current) { 
     current.content.contents().find('form').prepend(params); 
    } 
    }); 
    return false; 
});