0

私のプロジェクトには、次の 2 つの js ファイルがあります。

file1.js

(function($){
    jQuery(function(){
        jQuery.user = {
            getAnchorUrl : function (el){
                return jQuery(el).attr('href');
            }
        }       
    });
})(jQuery);

file2.js

(function($){
    jQuery(function(){
        jQuery('.popup-video-link').on('click', function(e){
            e.preventDefault();
            var url = jQuery.user.getAnchorUrl(this);
            jQuery.user.getVideoPopupTemplate(url);
        });
    });
})(jQuery);

私はfile1.js最初にロードしていfile2.jsます。

class を持つアンカータグをクリックするたびに.popup-video-link、エラーが発生します

TypeError: jQuery.user.getAnchorUrl は関数ではありません

私が間違っているところに助けはありますか?

PS: このプロジェクトでは、prototype.js や他の多くのプラグインも使用しているため、jquery コードをラップしています。

4

1 に答える 1

3

から削除jQuery(function(){file1.jsます。これを試して:

(function($){
    jQuery.user = {
        getAnchorUrl : function (el){
            return jQuery(el).attr('href');
        }
    }       
})(jQuery);

ページがロードされたときjQuery(callback)にコールバックがロードされる場合 ( のよう$(document).ready(callback)に、ほぼ)、(callback)(jQuery)最初のパラメーターで次のように呼び出される無名関数を作成します。jQuery

于 2013-11-07T04:46:28.490 に答える