我有一个从AJAX加载的元素。有了这个元素,我附加了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');
这样,我只能单击一次元素来触发。有没有更好的解决方法?
问题是当第一次单击发生时,facebox
插件未初始化,解决方法是初始化插件,然后再次重新触发单击事件
$(document).one("click", "a[rel*=modal]", function() {
$(this).facebox().triggerHandler('click');
});