привязка 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, время: 20:22. |