[закрыто][Javascript] event processing
Ты ведь все равно передаешь ссылку на obj, так не проще-ли сделать просто вот так
function handler(obj,foo){
this.foo = function(e){
obj.bar;
};
}
И потом, насколько я помню, для того, чтобы добавить новый метод объекту он должен иметь тип Object, и делается это через метод prototype.
насколько я помню, добавить новый метод объекту и повесить на какой-либо event свой handler - сильно разные вещи
В приведенном примере он текущему объекту пытается добавить метод foo
Работает. А я не догадался
добавить новый метод объекту он должен иметь тип Object, и делается это через метод prototype"По-хорошему" - да. Но и так "работает".
2: может, я плохо объяснил, но цель была "использовать локальные переменные в handlere", и способом 'a получаем требуемое.
Оставить комментарий
pilot
HTML элементам можно "добавлять" event handlers. (attachEvent||addEventListenerХотим чтобы когда event случается выполнялась функция foo в которой вызывается метод bar объекта obj.
Т.е.
Хочется чтобы foo не использовала глобальной переменной obj, "узнавая локально" у какого именно объекта надо вызвать метод.
Что пробовал:
(пример для firefox)
такая штука не работает, т.к. this внутри foo указывает на HTML элемент - target для event.
Можно ли в принципе сделать так как мне хочется, и , если можно, то как?