ご覧いただきありがとうございます。
現在、この例のコードを実装しています。私の aspx ファイルには、Label1 と Textbox1 が定義されています。私の aspx.cs ファイルでは、Page_Load メソッドで Label1.Text プロパティをランダムな文字列に設定しています。
私が含めた .js ファイルには、次のものがあります。
var Label1, TextBox1;
Sys.Application.add_init(AppInit);
function AppInit(sender) {
Label1 = $get('Label1');
TextBox1 = $get('TextBox1');
$addHandler(Label1, "click", Label1_Click);
$addHandler(TextBox1, "blur", TextBox1_Blur);
$addHandler(TextBox1, "keydown", TextBox1_KeyDown);
}
ここで、さらにラベル (および対応するテキスト ボックス) を追加したいと考えていますが、追加のイベントごとに個別のハンドラーを定義するオーバーヘッドは必要ありません。つまり、これを回避したいのです。
$addHandler(Label1, "click", Label1_Click);
$addHandler(TextBox1, "blur", TextBox1_Blur);
$addHandler(TextBox1, "keydown", TextBox1_KeyDown);
$addHandler(Label2, "click", Label2_Click);
$addHandler(TextBox2, "blur", TextBox2_Blur);
$addHandler(TextBox2, "keydown", TextBox2_KeyDown);
...
送信者を正確に識別するパラメーターをハンドラーに渡し、ハンドラーに「これ」または何かを使用させるにはどうすればよいですか。また、対応するテキストボックスも編集する必要があるため、ラベルのインデックス (1,2,3...) を識別できるようにしたいと考えています。たとえば、Label1_Click の現在の実装は次のようになります。
function Label1_Click() {
TextBox1.value = Label1.innerHTML;
Label1.style.display = 'none';
TextBox1.style.display = '';
TextBox1.focus();
TextBox1.select();
}
ありがとう、皆さん。