私はjQuery、特にJavaScriptを初めて使用します。
jQueryプラグインを作成しようとしていますが、コールバックイベントに問題があります。プラグインが少し柔軟になるように、コールバックイベントをさまざまな関数に含めたいと思います。
コードは次のとおりです。
(function($, undefined){
var methods = {
init: function(options){
var settings = $.extend({
// Default settings
'fadeInOutSpeed' : 100,
// the rest of default settings ...
// Callback events
onOpenBefore : function(){},
onOpen : function(){},
onOpenedCloseBefore : function(){}
// the rest of the callback events...
}, options);
// code goes here...
return this.each(function(){
// code goes here
});
},
destroy: function(){
// code goes here
},
open: function(){
console.info('method open accessed');
},
close: function(){
console.info('method close accessed');
},
update: function(){
console.info('method update accessed');
}
};
function gui_selectbox_open(param, event){
// HOW TO PUT A CORRECT CALLBACK CODE HERE ?
settings.onOpenBefore.call(param, event);
// function code goes here
settings.onOpenAfter.call(param, event);
};
関数内gui_selectbox_open(param,event)
には、コールバックイベントを配置したい行が最初にあります。これにより、外部からプラグインを初期化するときに適切にアクセスでき、JavaScriptエラーが発生し、settings.onOpenBefore...
定義されていないことがわかります。それを定義する方法は?
前もって感謝します