0

我有一个从 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');

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

4

1 回答 1

1

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

$(document).one("click", "a[rel*=modal]", function() {
    $(this).facebox().triggerHandler('click');
});
于 2013-09-27T02:54:43.047 回答