2013-09-25 204 views
0

我目前有以下代码添加一个灯箱到链接有rel="facebox"jQuery触发页面加载操作

$(document).ready(function() { 
    $('a[rel*=facebox]').facebox(); 
}); 

这个效果很好,直到页面加载时间过长。

如何在文档加载之前应用此选项?理想情况下,我想先调用.facebox()函数,并在DOM加载时,它搜索与rel="facebox"的任何链接并应用该函数。

有点像.on()功能,但没有事件。

这有道理吗?提前致谢!

$(document).on('click', 'a[rel*=facebox]', function() { 
    $.facebox({ ajax: $(this).attr('href') }); 
    return false; 
}); 

希望帮助别人:

+1

你不能在DOM准备好之前调用它,那么选择器就不会匹配任何东西! – tymeJV

+1

@tymeJV您可以将JS直接放置在HTML元素之后,并且可以在'document.ready'事件触发前选择它。这是加速渲染JS重站点的一种常见做法。你可能想要使用本地JS而不是像jQuery这样的框架,因为那样你就不必等待jQuery加载... – Jasper

+0

你可以用setInterval()延迟页面加载。所以你可以先运行你的函数,然后显示页面。 –

回答

0

通过执行以下操作找到我的解决办法。