调用不同文件中的方法

时间:2013-11-07 04:40:42

标签: javascript jquery

在我的项目中,我有两个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

每当我点击包含类.popup-video-link的锚标记时,我都会收到错误

  

TypeError:jQuery.user.getAnchorUrl不是函数

我出错的任何帮助?

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

1 个答案:

答案 0 :(得分:3)

jQuery(function(){移除file1.js。试试这个:

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

使用jQuery(callback)时,加载页面时会加载回调(几乎与$(document).ready(callback)一样),(callback)(jQuery)会创建一个匿名函数,然后使用第一个参数调用{ {1}}