我正在创建一个简单的 jQuery 插件,并尝试在我的shrink()
函数中引用调用元素。我知道如果我不传递元素,那么this
将引用window
但有没有办法引用调用 jQuery 插件的元素?如果没有,那么我将如何传递this
的回调$(window).on('resize', shrink);
?
$(function ($) {
$.fn.shrinkIt = function (options) {
var settings = $.extend({
className: "shortened",
maxWidth: 800
}, options);
var shrink = function (elem) {
var $this = $(elem);
var viewerWidth = $('.header').width();
if (viewerWidth > 800) {
$this.removeClass(settings.className);
} else {
$this.addClass(settings.className);
}
$this.css('visibility', 'visible');
};
return this.each(function () {
shrink(this);
$(window).on('resize', shrink); // how to get 'this' to shrink() function??
});
};
$('.lessonDocumentType').shrinkIt();
})(jQuery);