jquery .on和facebox的bug

时间:2013-09-27 02:51:20

标签: jquery facebox jquery-on

我有一个从AJAX加载的元素。使用tthat元素,我附加了Facebox.js。单击该元素时,将触发Facebox。所以我用过:

$(document).on("click", "a[rel*=modal]", function() {
    $(this).facebox(); // Applies modal window to any link with attribute rel="modal"
});

问题是,它需要在触发Facebox之前单击两次元素。所以作为快速解决方案,我补充道:

$('a[rel*=modal]').trigger('click');

这样,我只能点击元素一次才能触发。有没有更好的方法来修复?

1 个答案:

答案 0 :(得分:1)

问题是当第一次点击发生facebox插件未初始化时,解决方法是初始化插件然后再次重新触发点击事件

$(document).one("click", "a[rel*=modal]", function() {
    $(this).facebox().triggerHandler('click');
});