Использование $ .on с плагином jQuery - PullRequest
0 голосов
/ 06 марта 2012

Я некоторое время пытался придумать подход к этому. Может быть, я что-то упустил .....

Скажем, у меня есть шаблон плагина:

(function($){

    $.fn.myPlugin = function(options){           

        var bindEvents = function(elem){

        // Bind the events here.
        // EDIT
        // My first first thought would be to pass the element to the method 
        // but what you are doing here is actually just bind the event to existing
        // elements and not allowing for ajax added events.
        $(document.body).on("click", $(elem), function(event){

           // Do your thang....
        });

        };

        return this.each(function(){

        bindEvents(this);

        });

    };

}(jQuery||_jQuery));

Как мне связать нужные события с объектами, используя функцию $.on(), чтобы я мог обрабатывать любой элемент dom, загруженный с помощью Ajax-запроса?

EDIT

Чтобы уточнить, что я имею в виду, я добавил еще несколько комментариев к своему коду.

1 Ответ

0 голосов
/ 06 марта 2012

Лучшее решение, которое я могу придумать на данный момент ....

(function($){

    $.myPlugin = function(selector, options){           

        var bindEvents = function(elem){

        // Bind the events here passing the selector.
           $(document.body).on("click", selector, function(event){

           // Do your thang....
        });

        };

        bindEvents(this);

        // Return the jQuery function to allow chaining;
        return $(this);

    };

}(jQuery||_jQuery));

Это может быть вызвано с помощью:

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