私は次の問題の解決策を探しています:
1)いくつかのテキスト行を読み込んでいます。そのうちのいくつかには、次のような脚注へのリンクが含まれています。1)これらの行は<a>要素に埋め込まれています(以下を参照)
2)ユーザーがそのような行をクリックすると、対応する脚注のテキストが数秒間表示されます。
3)静的なコンテキストでは、この動作を実行するのに問題はありません。ただし、私の問題は、1)で読み込まれる行が呼び出しごとに異なるため、接続されている脚注のテキストも異なることです。したがって、(さまざまな数の)javascriptイベントハンドラー関数を対応する脚注テキストに動的に接続する方法を見つけようとしています。
これまでのところ、私は次のコードを思い付くことができました-しかし、それは期待どおりに機能しません:
function displayData(data) {
$('#statisticTable').html(data); // coming from a datapage.php
for (i = 0; i < 15; i++) { // max. 15 footnotes per page
// The lines containing a hint are looking as follows:
// <a href="" id="nt1" class="ui-link">Any Title <sup>1)</sup></a>
$('#nt' + i).click(function() {
if (!notesAlreadyLoaded) {
$.get('notes.php', 'some params', processNotes);
// a footnote looks like this:
// <div class="reg_footnote" id="note1">Comment on Any Title: ... </div>
notesAlreadyLoaded = true;
}
else
// Where can I get the number 'note_index' from?
// Trying to read the 'id' attribute from the <a> element doesn't work?
$("#note"+note_index).fadeIn(800).delay(3000).fadeOut(800);
});
}
$.mobile.changePage('#data');
}
function processNotes(notes) {
$('#footnotes').html(notes);
// where can I get the number 'note_index' from?
$("#note"+note_index).fadeIn(800).delay(3000).fadeOut(800);
}
どうやら、イベントハンドラー関数は正しく作成されており、それらも適切なタイミングで呼び出されます。ただし、どの脚注をフェードインするかを指示する方法が見つかりません。