プラグインを作成しようとしていますが、複数のインスタンスで問題が発生しています。コードが使用されているインスタンスでのみ動作するようにしたいのですが、現在、1 つをクリックすると両方で動作します。対話しているインスタンスでのみ動作するプラグインを作成するにはどうすればよいですか? 以下は、私が話していることの簡略化されたサンプルです。
(function( $ ) {
$.fn.cals = function(options) {
var containing_element = this;
var opts = $.extend( {}, options);
// create a container after each element
$(containing_element).after('<div class="container">Click</div>');
return this.each(function() {
$('.container').on('click', function() {
console.log('test')
})
}); // END this.each
};
})( jQuery );
html コードは次のとおりです。
<script>
$(document).ready(function() {
$('.test').cals();
});
</script>
<div class="test" type="text">
<div class="test" type="text">
</html>
<div class="container>Click</div>
コードは両方の div の下に挿入されます.test
。1つをクリックすると、console.log('test')
2つの「テスト」が吐き出されます。対話しているインスタンスに対してのみコードを動作させたい。