Search the Community
Showing results for tags 'this'.
-
Задача : при клике на активное изображение в слайдере открывается Fancybox, который содержит это изображение. Структура html примерно следующая. "flex-active-slider" применяется динамически и обозначает активное на данный момент изображение. <ul> <li class="flex-active-slider"> <img src="img1.png"> </li> <li class=""> <img src="img2.png"> </li> <li class=""> <img src="img3.png"> </li></ul>JS: $(window).load(function() {$(".flex-active-slide").click(function() { var img = $(this).find('img'); $.fancybox.open([ { href: "img.attr('src')" } ]);});}В итоге, fancyvox вообще не открывается, т.е. никак не реагирует на клик.
-
В JS есть проблема, связанная с доступом к this в анонимной функции: this.test = 2 * 2;console.log(this.test); // 4callback(function(){ console.log(this.test); // undefined});Я знаю два способа её решения:Создать ссылку на this: this.test = 2 * 2;console.log(this.test); // 4var self = this;callback(function(){ console.log(self.test); // 4});Использовать метод "bind" для подмены this: this.test = 2 * 2;console.log(this.test); // 4callback((function(){ console.log(this.test); // 4}).bind(this));Первый способ мне не нравится из-за введение дополнительной переменной. Второй - из-за лишних скобок и в следствии этого ухудшения читабельности. Знаете ли вы более элегантные решения этой проблемы?
- 14 replies
-
- js
- javascript
-
(and 3 more)
Tagged with:
-
var globalObject = { setClasses: { next: function (el) { console.log(el); }, prev: function () { } }, moveElems: { top: function () { //как обратиться к setClasses.next(someElem)? }, left: function () { } }}Привет всем! Вопрос в коде, мне нужно из свойства top объекта moveElems обратиться к свойству next объекта setClasses. this внутри свойства top будет обращаться к moveElems, а как обратится globalObject, чтоб можно вызвать setClasses.next(someElem)?