22

私はknockoutjsを使用していますが、現在、次のようなものが表示されています。

<img id="myTab1" data-bind="click: pressedTab.bind($data, '#myTab1')" src="images/image1.png"></img>

これにより、ビューモデルで要素IDを取得できます。

pressedTab = function(tab){
    console.log("Element ID: " + tab);
}

これは次のように書いています。

要素ID:#myTab1

ただし、クリックイベントでimgidの名前を送信するには繰り返しが多すぎます。明示的に書き直さずにimgidを送信する方法はありますか?

4

2 に答える 2

13

madcapnmckay の答えは完全には正しくありません。currentTarget をより適切に使用できます。つまり、ネストされた要素を含む div がある場合、子要素ではなく元のバインドされた要素を返します。

この質問を参照してください

アップデート

@Ryan が述べたように、event.currentTarget は IE8 では使用できません。<= IE8 サポートの場合、次を使用できます。

var target = (event.currentTarget) ? event.currentTarget : event.srcElement;
于 2012-12-31T01:16:27.590 に答える