最初に選択した要素 (すべての要素) を初期化したい jq プラグインを作成しました。コードの後半で、メソッドによって生成された文字列を取得したいと考えています。しかし、返されるのはオブジェクトだけで、文字列ではありません。
私はインターネットで多くの調査を行いましたが、プラグインを一方で「連鎖可能」にし、他方で「任意の値を返す」方法がわかりません。
どう思いますか?
(function($){
var methods = {
init: function(val){
// Actions to initialize ALL selected Elements
}
,
returner: function(val){
alert('working with every selected element: '+$(this).width());
// return anything
return 'STRING PRODUCED BY THIS FUNCTION!';
}
}
$.fn.myplug = function(method){
var args = arguments;
var init = 'init-myplug';
return this.each(function(){
var is_init = $(this).data(init);
if (is_init && methods[method]){
return methods[method].apply($(this), Array.prototype.slice.call(args, 1));
} else if (!is_init && (typeof method === 'object' || !method)){
$(this).data(init, true);
return methods.init.apply($(this), Array.prototype.slice.call(args, 0));
}
});
};
})(jQuery);
$('.selects_5_elements').myplug(); // init
$('.selects_5_elements').myplug('returner'); // get the string