jQuery 用のプラグインを作成していますが、プラグインの任意のインスタンスに一度だけ影響するメソッドを呼び出す方法があるかどうか疑問に思っています。
より具体的には、次のようなコードがあります。
var body = $('body');
body.on(
'click',
'selector',
function(e)
{
console.log("Do some stuff with my plugin");
}
);
上記のコードでは、"console.log("Do some stuff with my plugin");" 同じ量のプラグイン インスタンスに対して実行されています。
たとえば、次のコードがあるとします。
<body>
<a href="#" class="selector_1">Click me</a>
<a href="#" class="selector_2">Click me</a>
<a href="#" class="selector_3">Click me</a>
<script type="text/javascript">
jQuery(document).ready(
function($)
{
$('.selector_1').myPlugin();
$('.selector_2').myPlugin();
$('.selector_3').myPlugin();
}
);
</script>
</body>
ドキュメント内のいずれかのリンクをクリックすると、コンソールに「Do some stuff with my plugin」というメッセージが 3 回表示されます。これは、このイベントが 3 回登録されているためです。
それで、任意の量のプラグインインスタンスに対して一度だけコードを実行する方法はありますか?
注: jQueryプラグインを構築するには、このスケルトンを使用しました