Вход

Просмотр полной версии : $([]) что это?


Telnet
01.04.2016, 17:47
На одном из сайтов столкнулся с таким объектом $([])
Там еще подключен underscore-1.5.2.min.js и jquery.x-tools.js
При попытке заставить скрипт работать
на другом сайте он не может найти вот эти свойства
$(this.selector).css({ width: this.$body.width(), height: this.$body.height() });
пишет что this.$body.width() и this.$body.height() равно null и ясное море скрипт не работает, как положено, может кто то сможет подсказать что за объект такой странный $([]), как для меня так это просто объявление массива в функции Jquery и ни каких свойств width и height у него по умолчанию нет.

/* Window Resize ************************************************** ************************************************** **********************************/
(function($) {
'use strict';

window.WndResize = function(selector) {
_.extend(this, {
$wnd: $(window),
$body: $([]),
selector: selector
});
};

_.extend(window.WndResize.prototype, {

hResize: function() {
$(this.selector).css({ width: this.$body.width(), height: this.$body.height() });
},

on: function() {
this.hResize();
this.$body = $('body');
this.$wnd.on('resize', $.proxy(this.hResize, this));
},

off: function() {
this.$wnd.off('resize', this.hResize);
$(this.selector).css({ width: '', height: '' });
}

});
}(jQuery));

Rise
01.04.2016, 18:07
Telnet, пустой объект jquery

Telnet
01.04.2016, 18:11
Telnet, пустой объект jquery

Ну хорошо но у него же явно нет свойств width или height или там пустой объект по умолчанию создается как типа алиас на window ?

Telnet
01.04.2016, 18:18
а да все понял там сразу вызывается функция on которая и наполняет так сказать этот объект, спасибо что помогли разобраться
Тема закрыта

Rise
01.04.2016, 18:19
Telnet, в строке 21 он уже не пустой, и не алиас а именно пустой, до версии 1.4 писали так $([]) после можно так $()