0

在我的项目中,我有两个 js 文件,如下所示:

文件1.js

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

文件2.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

每当我单击具有类的锚标签.popup-video-link时,我都会收到错误消息

TypeError:jQuery.user.getAnchorUrl 不是函数

我出错的地方有什么帮助吗?

PS:我正在包装 jquery 代码,因为在这个项目中我还使用了prototype.js 和许多其他插件。

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 回答