2011-07-22 292 views
1

我正在寫一個繼承自ui.dialog的彈出窗口小部件,我想知道是否有辦法在許多元素上重複使用相同的彈出窗口實例。例如,說我有這個網站:(POPs)的將jQuery插件的一個實例應用於多個元素?

<a class = "pops" href="">test</a> 
<a class = "pops" href="">test2</a> 
<a class = "pops" href="">test3</a> 

如果我調用$ .popup(選項),彈出的_create方法將被調用3個獨立的時間和我對的是3個實例頁。我想創建一個彈出窗口,其位置,大小和內容根據觸發它顯示的鏈接而進行修改。

當創建一個彈出窗口的新實例時,一個(最初隱藏的)彈出窗口div被附加到帶有子div的頁面,以保存該彈出窗口的內容。所以你可以想象,很多空間將被用來存儲指向所有不同彈出窗口的指針。

我的直覺是,只有一個可重複使用的彈出窗口比3個單獨的彈出窗口更有效率,特別是因爲我一次只想打開一個窗口。我的直覺是不正確的?

回答

1

短版重新使用相同的元素,即股利#popUpDiv:

$('.pops').live('click', function(){ 
    $("#popUpDiv").html($(this).html()); 
}); 
+0

呀,謝謝!我也考慮過檢查元素是否已經在_create()中創建。同樣的想法......我不認爲有一種方法可以多次呼叫_create。 – stinkycheeseman