если я хорошо понимаю, вы хотите предоставить некоторые обратные вызовы, будучи в состоянии назвать их как
$(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');