2011-07-22 115 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