我在将对象的上下文作为选项传递给插件时遇到了一些问题。我调用该函数,但是当插件执行此操作时,“附加”的上下文会发生变化。
$(document).ready(function() {
$('article > header').stickyHeader({
attach: $(this).siblings('h2')
});
});
$.fn.stickyHeader = function(settings) {
// settings
settings = $.extend({
attach: false
}, settings);
var $this = $(this);
var $attach = settings.attach;
console.log($attach);
// DO STUFF
return false;
};
控制台记录“jQuery()”,我认为上下文是文档。如何从插件中获取正确的上下文?理想情况下是“jQuery(h2)”。
在四处挖掘之后,我摆弄了以下内容,但没有任何结果:
var $attach = $.proxy( $attach, this );
有任何想法吗?http://jsfiddle.net/mfpYK/