以下のような文字列を使用して、ページにスライダーを動的に追加しています。
"<input type=\"range\" name=\"aName\" min=\"1\" max=\"9\"/>";
次に、プレーンな JavaScript を使用してページに追加した後、次のコードを使用して委任できます。
$('input[name=aName]').on('change', function () { alert(this.value)});
実際、値が変更されると、正しい値でアラートを受け取ります。ただし、次のように委任すると:
$('input[name=aName]').on('change', handleChange);
後で次のように関数を定義します。
function handleChange () {
var theValue = $('input[name=aName]').value;
alert("value: " + theValue);
}
「値: 未定義」というメッセージが表示されたアラートが表示されます。なぜこのようなことが起こっているのですか?