Используя функцию jQuery live () при вызове плагина? - PullRequest
4 голосов
/ 28 июня 2010

Итак, у меня есть плагин - jScrollPane - http://www.kelvinluck.com/assets/jquery/jScrollPane/jScrollPane.html - который потрясающий, но я хочу применить его к сгенерированному Ajax div.

Как бы я использовал jScrollPane в сочетании с live() в jQuery? Дополнительную информацию о live () можно найти здесь: http://api.jquery.com/live/

Спасибо!

Jack

Ответы [ 2 ]

5 голосов
/ 28 июня 2010

Метод live() хорош, когда вы хотите связать элемент с событием, но какое событие вы бы использовали, чтобы плагин оставался постоянным?Я не думаю, что есть один ...

Что вы можете сделать вместо этого, это поместить начальную привязку плагина в функцию, а затем вызвать эту функцию после того, как ваш сгенерированный ajax div будет на месте, например:*

function setPlugins() {
    $('#abc').myPlugin();
}

$.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&location=Boston",
   success: function(msg){
     setPlugins();
   }
 });

Я не совсем уверен, что это лучший способ решить вашу проблему, но я так и делал.

1 голос
/ 28 июня 2010

Я думаю, это будет тот тип вещей, который вам нужен.

$(function()
{
    initialise_jScrollPane = function() {
        $("#jScrollPane").jScrollPane();
    }

  // Update contexts using live jquery ajax link
    $("a#ajax_load_link").live("click", function() {
        $("<div/>").attr({"id": "jScrollPane"}).appendTo("body").load("ajax_page.html", "", initialise_jScrollPane);
    });
});

Это создаст элемент div с идентификатором "jScrollPane", затем инициализирует jScrollPane с содержимым Ajax, возвращаемым из запроса jQuery.

Мартин

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...