[英]Need some help writing a custom jQuery plugin
請查看以下內容:
jQuery.fn.jqPos = function(target, settings) {
settings = jQuery.extend({
offset: [ 0, 0 ]
}, settings);
return this.each(function() {
magic($(this), target, settings);
$(window).resize(function(){
magic($(this), target, settings);
});
});
function magic(self, target, settings) {
// Here I position self close to target
}
};
當我第一次初始化插件時,這很完美,例如$('div#one').jqPos($('div#two'));
魔術方法可以正常運行。 但是在事件window.resize
什么也沒有發生(我希望它以相同的設置和參數運行相同的方法)!
怎么會? 以及如何克服?
編輯:在魔術方法(在window.resize),參數都是undefined
。
您在$(window).resize(function(){ magic($(this), target, settings); });
混淆了this
含義$(window).resize(function(){ magic($(this), target, settings); });
this
不再是指您的元素,而是window
本身。 嘗試:
return this.each(function() {
var $this = $(this);
magic($this, target, settings);
$(window).resize(function(){
magic($this, target, settings);
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.