привязка Onklick к объекту
Добрый день.
есть обьект, в нем метод: init: function(){ this.Button(); //this.btn.addEventListener('click', this.Button.bind(this), false); this.btn.addEventListener('click', function(){return this.Button.call(this)}, false); } В общем через this.btn.addEventListener('click', this.Button.bind(this), false); он работает, а вот через call() я не могу сообразить как сделать пишет Цитата:
|
this в обработчике ссылается на элемент, на который повесили событие, т.е. на this.btn. Чем не устраивает вариант с .bind? А то, что ты пытаешься сделать с .call - совершенно другое. И
this.Button.call(this) тоже самое (совершенно один в один), что и this.Button() |
В Опере Мини bind не работает
|
все есть
init: function(){ var fn = this; this.Button(); // this.btn.addEventListener('click', this.Button.bind(this), false); this.btn.addEventListener('click', function(){return fn.Button.call(fn); }, false); } даже можно и так fn.Button(), вместо call |
ShuggyBumblebee,
более общепринято использовать that для передачи this, а fn использовать для колбеков или литералов... |
Цитата:
object.method.call(object) избыточна. this и так будет ссылаться на object. |
Цитата:
|
Часовой пояс GMT +3, время: 06:10. |