プラグインにオプションとして渡されるオブジェクトのコンテキストに問題があります。私は関数を呼び出しますが、プラグインがそれを行うと、「アタッチ」のコンテキストが変わります。
$(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 );