Прошу немного терпения. js beginner. Thnx. Я играю с шаблоном https://github.com/jquery-boilerplate/jquery-boilerplate/blob/master/src/jquery.boilerplate.js
внутри него я добавил 2 новых функции
init: function () {
this.mynewFunction2();
},
mynewFunction1: function (){
console.log('ok');
},
mynewFunction2: function (){
$('.link').click(function(){
this.mynewFunction1();
});
}
вы, вероятно, уже видите проблему, но вопрос в том, как передать свой mynewFunction1 в объект jquery? Я нашел несколько сообщений, в которых говорится, что мне нужно назначить мою новую функцию для вызова внутри объекта jquery, но я немного потерялся там. Поэтому, если у вас есть запасная минута, вы можете отправить пример, основанный на моем коде выше. Спасибо!
Новая функция создает новую область, которая, в свою очередь, создает новое this
:
mynewFunction2: function (){
$('.link').click(function(){
this.style.color = 'red';
// this inside the event handler is the clicked element
});
}
Вы можете просто отказаться от анонимной функции и передать ее напрямую:
mynewFunction2: function (){
$('.link').click(this.mynewFunction1);
}
или если вам нужно передать параметры:
mynewFunction2: function (){
var that = this; // references the parent object
$('.link').click(function() {
that.mynewFunction1(this); // passes the clicked element
});
}
mynewFunction2: function (){
var self = this;
$('.link').click(function(){
self.mynewFunction1();
});
}