Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   PROTOTYPE передать this в функцию! (https://javascript.ru/forum/misc/45039-prototype-peredat-v-funkciyu.html)

barkar 11.02.2014 21:35

PROTOTYPE передать this в функцию!
 
Есть код:
function Start(){
this.s = 1;
this.test();
}

Start.prototype.clicker = function(){
console.log(this.s);
};
Start.prototype.test = function(){
console.log(this);
$('<div></div>', {
'text':'SSSSSSSSSSSSSSSSSSSSSS',
'click' : function(sss){ console.log(this);this.clicker(); }
}).appendTo('body');
};

var sss = new Start();

Вопрос такого характера:
как передать this выделенный жирным шрифтом в функцию 'click':function(){this}

danik.js 11.02.2014 22:00

function(){}.bind(this)

IE9+

BallsShaped 11.02.2014 22:22

function Start(){
  this.s = 1;
  this.test(this);
}
...

Start.prototype.test = function (instance) {
  $('<div></div>', {
    'text':'SSSSSSSSSSSSSSSSSSSSSS',
    'click' : function(sss){ console.log(instance);instance.clicker(); }
  }).appendTo('body');
};

barkar 11.02.2014 22:56

Спасибо большое, за помощь а то я даже не знал как правильно вопрос задать, извиняюсь за безобразность кода еще раз спасибо!

barkar 11.02.2014 23:32

$.proxy(this.clicker, this);
Вот еще как вариант.


Часовой пояс GMT +3, время: 00:51.