私のプログラムでは、ボタンの onclick 動作を次のように変更しています。
button.attr('onclick','function1()');
function1() にボタンのインスタンスを渡したいのですが、さまざまなボタンがクリックすると時々この function1() にアクセスする可能性があり、それらの親が私のロジックにとって必須であることを知っているからです。
これは可能ですか?
私のプログラムでは、ボタンの onclick 動作を次のように変更しています。
button.attr('onclick','function1()');
function1() にボタンのインスタンスを渡したいのですが、さまざまなボタンがクリックすると時々この function1() にアクセスする可能性があり、それらの親が私のロジックにとって必須であることを知っているからです。
これは可能ですか?
button.attr('onclick','function1(this);');
「this」を関数に渡すと、そのパラメーターがボタンになります。
function function1(myButton){
//do stuff
}
または、jquery と無名関数を使用できます
$(button).click(function()
{
var myButton = this; // in this scope "this" is the button.
});
いつでもthis
コンテキストを渡して使用できます
button.attr('onclick','function1(this)');
しかし、なぜインライン イベントをボタンにアタッチする必要があるのでしょうか。イベントを直接添付することをお勧めします。
button.on('click', someFunction);
function someFunction() {
this
// this corresponds to the button that is currently clicked.
}