将jQuery插件的一个实例应用于多个元素?

时间:2011-07-22 14:32:05

标签: jquery jquery-ui jquery-widgets

我正在编写一个继承自ui.dialog的弹出窗口小部件,我想知道是否有办法在许多元素上重用相同的弹出窗口实例。例如,假设我有这个html:

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

如果我调用$(。pops).popup(options),弹出的_create方法将被分别调用3次,我将在页面上有3个实例。我想创建一个弹出窗口,其位置,大小和内容将根据触发它的链接进行修改。

当创建一个新的弹出窗口实例时,一个(最初隐藏的)弹出窗口div将附加到带有子div的页面以保存该弹出窗口的内容。所以你可以想象,将会有很多空间存储指向所有不同弹出窗口的指针。

我的直觉是只有一个可重复使用的弹出窗口比有三个独立的弹出窗口效率更高,特别是因为我一次只想打开一个弹出窗口。我的直觉不正确吗?

1 个答案:

答案 0 :(得分:1)

短版本重复使用相同的元素,即div #popUpDiv:

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