私はこのプラグインの問題を長年にわたって持っていますが、それは正しくできません。jqueryプラグインを再利用可能にする方法は?
ここにテストpageがあります。あなたはページボタンをクリックすると、それは二回page
を警告する必要がありますが、それは二時photo
に警告します。
これは、「写真」という別のボタンのプラグインを再利用するためです。私は2番目のボタンが最初のボタンを上書きしていると思います。なぜなら、それがなぜ起こっているのか分かりません。
$(document).ready(function(){
$('.get-page').get_overlay({
targetObject: '.page'
});
$('.get-photo').get_overlay({
targetObject: '.photo'
});
});
その後、これは、このプラグインが最初の場所でプラグインを持つ点が何であるか、その後全く再利用することができないことを意味?
私はこのプラグインで間違っていましたか?どうすれば修正できますか?代わりに、targetObject
を格納し、それを保存するために.dataを使用するローカル変数を使用しての
(function($){
$.fn.get_overlay = function(options) {
var defaults = {
targetObject: ''
}
var options = $.extend(defaults, options);
var o = options;
var $cm = this.click(function() {
alert(o.targetObject);
$.fn.get_overlay.centralise();
return false;
});
if(!$.fn.get_overlay.centralise) $.fn.get_overlay.centralise = {};
$.fn.get_overlay.centralise = function() {
alert(o.targetObject);
}
}
})(jQuery);
この回答に感謝します、elclanrs。このフォーマットに従えば、公的な範囲から 'centralise'にアクセスするにはどうしたらいいですか? – laukok
このように: '$ el.get_overlay()。centralize()' – elclanrs
これは素晴らしいです!大好きです! – laukok