Показать сообщение отдельно
  #5 (permalink)  
Старый 29.06.2014, 17:23
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

Сообщение от Arnowt Посмотреть сообщение
анонимная функция которая возвращает анонимную функцию...
Это есть суть js, mon ami.)

Обычно чтобы сохранить this (ребята пришедшие из других языков и не понимающие сути js) делают так:
$(function() {
    function floatBlock(el) {
        this.el = el;
        var init = false;
        var _self = this;
        this.run = function() {
            alert(this.el + ' | ' + init); //!!!!!!!!!!!!!!!!!!!!!
            if (init != true) {
                init = true;
                $(window).resize(_self.run);
            }
        }

        this.run();
    }
    new floatBlock('QWERT')
})


Можно ещё так:
$(window).resize(this.run.bind(this));
, но bind есть не во всех браузерах.(хотя полифил несложно пишется)
__________________
29375, 35
Ответить с цитированием