Как вызвать событие в плагине jquery и использовать его во внешнем интерфейсе? - PullRequest
1 голос
/ 10 марта 2010

Мне нужно поднять пару событий с параметрами в плагине jquery, посмотрел на похожие вопросы, но не могу понять, что я ищу? Какие-нибудь основные примеры там?

Ответы [ 2 ]

2 голосов
/ 10 марта 2010

если я хорошо понимаю, вы хотите предоставить некоторые обратные вызовы, будучи в состоянии назвать их как

$(this).plugin({
    onInit: function(var) { alert(var) },
    onClick: function(var) { alert(var + '!') }
});

Я делаю это, добавляя опцию 'onInit' к плагину и вызывая options.onInit (var1, var2, ...) внутри плагина там, где я хочу, чтобы он был выполнен

$.fn.plugin = function(options) {
    var o = $.extend({}, $.fn.plugin.defaults, options);

    return this.each(
        function() {
            o.onInit('initializing...');

            $(this).bind('click', function(e) {
                onClick('clicked');
            });
        }
    );
}

теперь прежний код будет выполнять оповещение («инициализация ...»); при инициализации и оповещении («нажал!»); по клику

Я не уверен, что этот код соответствует какому-либо официальному синтаксису, но он хорошо работает

Если вы просто хотите связать некоторые пользовательские события, это просто, как описано в http://api.jquery.com/bind/, просто

$(this).bind('customevent', function() {
    alert('hi');
});

затем используйте

$(this).trigger('customevent');
2 голосов
/ 10 марта 2010

Вы имеете в виду это?

$('#theTarget').trigger('event-name', ['hello', 'world']);

Не думаю, что знаю, что означает "потреблять его на входе" ...

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