function df(){
$(this).text('hello world');
}
bn.attr('onclick','df();');
私の問題は$(this)
、jquerywindow
オブジェクトではなく jquery オブジェクトを参照することbn
です。
bn
関数内で動的参照を取得するにはどうすればよいdf
ですか?
onclick
属性を使用しないでください。.click()
次の方法を使用します。
bn.click(df);
または.on()
メソッド (jQuery 1.7+) または.bind()
(古いバージョン):
bn.on("click", df);
関数識別子の後に呼び出し括弧がないことに注意してください。関数の戻り値ではなく、関数への参照を渡す必要があります。
これを試して
bn.on('click' , df); // Instead of onclick
this
期待するコンテキストになるようにするには、関数ではなく関数ポインターを DOM に渡す必要があります。