2

キャンバス プロジェクトに Adob​​e Animate CC を使用しています。イベントリスナーを次のように割り当てた配列があります。

for(var i = 0; i < navBtnArray.length; i++ ){
navBtnArray[i].addEventListener("click", navigationControls);
}

私が理解しようとしているのは、配列でクリックされたボタンのインデックス値を取得する方法です。私は次のように試しました:

function navigationControls(e){

console.log(navBtnArray.indexOf(this));
}

しかし、それは -1 を返し続けます。繰り返しますが、これは Animate CC であるため、jQuery にアクセスできません。Animate は CreateJS および EaselJS ライブラリを使用します。以前は AS3 で indexOf を使用していましたが、まったく同じようには機能しないようです。

4

2 に答える 2

1

そのために、次を使用できます。

function navigationControls(e){
    console.log(navBtnArray.indexOf(e.target));
}

それでもうまくいかず、indexOfそのようなオブジェクトを比較できない場合は、次のようにボタン オブジェクトに追加のプロパティを追加してみてください。

for(var i = 0; i < navBtnArray.length; i++ ){
     navBtnArray[i].addEventListener("click", navigationControls);
     navBtnArray[i].index = i;
}

そして、次のようにします。

function navigationControls(e){
    console.log(e.target.index);
}
于 2016-11-14T13:56:56.873 に答える