У меня есть немного JavaScript и я создаю HTML на лету.Я хочу добавить обработчик событий для каждого элемента управления (все они являются элементами управления «Ввод»), чтобы при нажатии на любой из них все они вызывали одно и то же событие.Сначала я определяю делегата в разделе инициализации кода следующим образом:
this.rule_event_handler = Function.createDelegate(this, this.rule_selected);
У меня есть функция, показанная ниже, и я хочу, чтобы все элементы управления вызывались при нажатии:
rule_selected: function () {}
Я добавляю обработчик, как показано ниже:
display_rules: function () {
var rulearea = $('#ruleControlArea')[0];
rulearea.innerHTML = "";
for (intI = 0; intI < this.arrRules.length; intI++) {
rulearea.innerHTML += this.create_rule_control(intI, this.arrRules[intI].display);
$addHandlers($('#rule_' + intI)[0], { 'click': this.rule_event_handler }, this, true);
}
},
Проблема, которую я затем вижу, состоит в том, что только последний элемент управления вызывает событие onclick.Как я могу изменить код, чтобы все элементы управления запускали одно и то же событие?