Применить один экземпляр плагина jQuery к нескольким элементам? - PullRequest
1 голос
/ 22 июля 2011

Я пишу всплывающий виджет, который наследуется от 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 Ответ

1 голос
/ 24 июля 2011

Короткая версия для повторного использования того же элемента, то есть div # popUpDiv:

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