Если я пытаюсь передать параметр следующим образом: this._Click (i) Я получаю ошибку.
BBtor = function(element) {
//some code
}
BBtor.prototype = {
initialize: function() {
for (var i = 0; i < 3; i++) {
$addHandler($get("Button"+i),'mouseup' , this._Click(i));
}
},
_Click: function(param) {
alert(param);
}
}
Я получаю ошибку:
Ошибка выполнения Microsoft JScript: Sys.ArgumentUndefinedException: значение не может быть неопределенным.Имя параметра: обработчик
Снова.если запустить это (без параметра), это будет работать:
$addHandler($get("Button"+i),'mouseup' , this._Click);
, если я попробую это:
$addHandler($get("Button"+i),'mouseup' , this._Click(i));
это не работает.
Это сработало дляя:
$addHandler($get("Button"+i),'mouseup' , function(xx) { return function() { that._Click(xx) } } (i));
Но с этим у меня возникла другая проблема.как убрать обработчик в функцию dispose?
dispose: function() {
for (var i = 0; i < 3; i++) {
var that = this;
$removeHandler($get("Button"+i),'mouseup' , function(xx) { return function() { that._Click(xx) } } (i));
},
Я получаю ошибку:
Ошибка времени выполнения Microsoft JScript: Sys.InvalidOperationException: Обработчик не был добавлен с помощью метода Sys.UI.DomEvent.addHandler.
В любом случае, важно ли удалять нажатия кнопок с кнопок?