控制台输出:
未捕获的TypeError:对象[object global]没有方法'each'
var methods = {
init: function (options) {
// Create some defaults, extending them with any options that were provided
var settings = $.extend({
'maxWidth': 0,
'maxHeight': 0,
'forceAspect': true
}, options);
return this.each(function () {
// if max size wasn't specified, position only
var nosize = settings.maxWidth === 0 || settings.maxHeight === 0;
var container = $(this).parent();
$(this).css('position', 'relative');
// fit when window is resized
$(window).bind('resize.tailorfit', methods.fit);
// fit when page has loaded
$(window).bind('load.tailorfit', methods.fit);
// fit on initial load
methods.fit.apply();
});
}, ...
答案 0 :(得分:1)
我敢打赌,你需要用jQuery标记来包装它。
...
$(this).each(
...
它不会将它识别为jQuery对象,因此每个函数都不可用。
您之后确实存在容器问题,应该可以轻松解决。
答案 1 :(得分:1)
methods.fit.apply();
使用全局对象调用fit
,没有方法each
现在,您可以通过在$(this)
函数中执行fit
来解决此问题,但我不确定这是您想要做的事情。
另请注意,您的jsFiddle不会执行给$('.image-container > img').load