e.preventDefault();を追加しようとしています。 タグをクリックした場合。以下は私のコードですが、動作しません。誰かが私に助言をお願いできますか?ありがとうございました。e.preventDefault()Javascriptプロトタイプのモジュールパターン
(function($){
'use strict';
var ItemPhoto = function(){
this.$el = undefined;
this.getElements();
this.events();
}
ItemPhoto.prototype = {
getElements: function(){
this.$el = $('#contaner').find('.image');
this.$item = $('#contaner').find('.item').find('a');
},
events: function(){
this.$item.on('click', {_self:this}, this.swapImage());
},
swapImage: function(e){
e.preventDefault();
var _self = e.data._self;
_self.$el.attr('src', _self.$item.attr('href'));
}
}
var itemPhoto = new ItemPhoto();
})(jQuery);
'()'のおかげで、イベントハンドラにバインドするのではなく、 'swapImage'を呼び出すことになります。 – ssube
あなたが言った行を編集しましたが、それでも動作しません。 – shinyatk
[あなたの編集は問題を解決しました](https://jsfiddle.net/rx96ma6d/)。だから私はロールバックして、複製としてクローズしている。 – Oriol