JavaScript の遅延バインディングは優れています。しかし、必要なときに早期バインドするにはどうすればよいでしょうか?
jQuery を使用して、ループ内のイベント ハンドラーとのリンクを div に追加しています。ループ内で変数「aTag」が変化します。後でリンクをクリックすると、すべてのリンクが「aTag」の最後の値である同じメッセージを警告します。すべてのリンクに別の警告メッセージをバインドするにはどうすればよいですか?
すべてのリンクは、イベント ハンドラーがクリックされたときではなく、イベント ハンドラーが追加されたときに「aTag」が持っていた値で警告する必要があります。
for (aTag in tagList) {
if (tagList.hasOwnProperty(aTag)) {
nextTag = $('<a href="#"></a>');
nextTag.text(aTag);
nextTag.click(function() { alert(aTag); });
$('#mydiv').append(nextTag);
$('#mydiv').append(' ');
}
}