и спасибо за поиск.
В настоящее время я реализую код из этого примера.В моем aspx-файле у меня определены Label1 и Textbox1.В моем файле aspx.cs я устанавливаю свойство Label1.Text для случайной строки в методе Page_Load.
В файле .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);
...
КакМогу ли я передать обработчику параметр, который точно идентифицирует отправителя, и чтобы обработчик использовал 'this' или что-то еще.Также следует отметить, что я хочу иметь возможность идентифицировать индекс метки (1,2,3 ...), потому что я должен также редактировать соответствующее текстовое поле.Например, текущая реализация Label1_Click выглядит следующим образом:
function Label1_Click() {
TextBox1.value = Label1.innerHTML;
Label1.style.display = 'none';
TextBox1.style.display = '';
TextBox1.focus();
TextBox1.select();
}
Спасибо, ребята.