のプロパティ「doThings」を読み取ることができません、私は美しくobj
のキャッチされない例外TypeError:未定義
var nodesArray = [];
var obj = function(nodeSpan){
this.nodeS = nodeSpan;
this.doThings = function(){
console.log(this.nodeS);
};
}
が移入されるノードの配列を持って、私はnodeArray
var newObj = new obj(thisIsASpan) ///trust me that's a span
nodesArray.push(newObj);
//etc
に
obj
年代の多くを置きます
各ノードでmap関数を呼び出し、イベントリスナーを追加します。
Array.prototype.map.call(nodesArray, function(obj, index) {
obj.nodeS.addEventListener('click', function(obj, index) {
nodesArray[index].doThings(); ////Throws error in title.
});
});
私は気になるスパンの1つをクリックします。
タイトルに間違いがありましたら、私は休憩室を歩いて、次に故障します。
私はnodesArrayをconsole.logingすることから始め、その後、それはあなたがそれだと思う同じように働いているかどうかを確認...その後はconsole.logインデックスとインデックスが正しく渡された@jdave – jdave
を出してobjう'addEventListener' –
ところで、変数に実際の配列が含まれている場合、' Array.prototype.map.call'を使う必要はありません。ちょうど 'nodesArray.map(...)'を使ってください。複雑な構文は、配列のようなオブジェクトにのみ必要です。 – Barmar