2013-09-25 253 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

通過執行以下操作找到我的解決辦法。