1

次のようなJavaScriptイベントハンドラーがあります。

for (i = 0; i < x; i++){
 var table = tableList[i];
 var tableID = table.getAttribute('id');

 var selector = table.querySelectorAll('input')[0];
 selector.on('focusout', function(){
    alert(tableID);
 }):
}

tableID アラートは、使用しているテーブルに関係なく、常に tableList の最後のテーブルの ID です。

何か案は?

4

1 に答える 1

1

tableID をデータ オブジェクトとしてイベント ハンドラーにアタッチできます。以下を試してください。

selector.on('focusout', { tableID: tableID }, function(e) {
    alert(e.data.tableID);
}):

jQueryのドキュメントごと。

//data
//Type: Anything
//Data to be passed to the handler in event.data when an event is triggered.
于 2013-06-12T20:03:27.400 に答える