我有一个我在Wordpress模板中包含的js文件。有没有办法访问我的'MediaBrowser'对象中的'$'函数,而不必笨拙地传递它作为参数?
谢谢, 史蒂夫
var MediaBrowser = {
initialize:function($){
$("a[rel^='mediaBrowser']").prettyPhoto();
}
};
jQuery(document).ready(function($){
MediaBrowser.initialize($);
});
答案 0 :(得分:3)
使用自调用函数通过$访问jQuery。您有很多理由想要这样做,所以不要听其他人告诉您只是全球访问...
var MediaBrowser = (function($) {
return {
initialize:function(){
$("a[rel^='mediaBrowser']").prettyPhoto();
}
};
}(jQuery));
答案 1 :(得分:2)
var MediaBrowser = {
initialize:function(){
var $ = jQuery; //local var or just use `jQuery` below
$("a[rel^='mediaBrowser']").prettyPhoto();
}
};
jQuery(document).ready(function(){
MediaBrowser.initialize();
});
答案 2 :(得分:1)
我认为你在某处有些冲突?您可以为MediaBrowser创建一个闭包。请记住,它需要在加载jQuery后执行。
var MediaBrowser = function() {
var $ = jQuery;
return {
init : function() {
// blah jquery stuff using $(..) syntax
}
...
}
}();
答案 3 :(得分:0)
总是可以包装一个匿名函数(但是,由于范围的原因,你需要明确地构成MediaBrowser
的{{1}}部分:
window