簡體   English   中英

需要一些幫助來編寫自定義jQuery插件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM