自分のオブジェクトを設定したいのですが、魔女は追加時に同じオブジェクトを認識して落下させることができます。
function ImageSet(){
this.set = [];
}
ImageSet.prototype.length = function(){return this.set.length}
ImageSet.prototype.process = function(imgObj){
var is_exist = false;
$.each(this.set, function(i){
if (this.set[i].imgHash == imgObj.imgHash){is_exist = true};
});
if (!is_exist){
this.set[this.set.length + 1] = imgObj;
return true;
}
return undefined;
}
var imagesChoosen = new ImageSet();
したがって、ユーザーが要素をクリックすると、新しいオブジェクトが作成され、ImageSetに追加されます。最初のクリックでオブジェクトが正常に設定に追加されますが、2番目のクリックでコンソール書き込みエラーが発生します
TypeError: this.set is undefined if (this.set[i].imgHash == imgObj.imgHash){is_exist = true};
そして、ImageSetを呼び出すコードは次のとおりです。
$('#content_table a').click(function(event){
event.preventDefault();
el = new Image($(this).attr('href'));
if (imagesChoosen.process(el)){
$(this).parent().css("border", "3px dotted orange");
} else {
$(this).parent().css("border", "None");
}
console.log(imagesChoosen.length());
return false;
});
理解できません。私のImageSetは最初の呼び出しの後に破壊されますか?