1 つのページで複数の要素を呼び出せるようにしたい単純な jQuery プラグインがあります。
今のところ、セレクターを明示的に宣言していますが、プラグインが呼び出されたオブジェクトに対して相対的なものにしたいと考えています。これどうやってするの?
(function($) {
var MyPlugin = function(options){
var plugin = $(this); // The entire myPlugin object
var element = $("div#plugined div#element"); // An element in myPlugin
var pluginChild = $( ); // Need selector of what plugin was called on + additional slider. ("div#plugined div#child")
this.publicFunction = function() {
// something...
}
var privateFunction = function() {
// something private...
}
};
$.fn.myPlugin = function(options) {
var defaults = {
// options
}
var options = $.extend(defaults, options);
var myPlugin = new MyPlugin(options);
$("div#plugined a.arrow").bind('click', function(e){ // Same problem. Need selector of what plugin was called on + additional slider. ("div#plugined div#child")
e.preventDefault();
myPlugin.publicFunction();
});
return myPlugin;
};
})(jQuery);
<script type="text/javascript">
$(window).load(function() {
$('div#plugined').myPlugin();
});
</script>