jQuery(document).ready和passing'$';
我有一个包含在Wordpress模板中的js文件。有没有一种方法可以访问我的“MediaBrowser”对象中的“$”函数,而不必笨拙地将其作为参数传递 谢谢, 史蒂夫jQuery(document).ready和passing'$';,jquery,wordpress,document-ready,Jquery,Wordpress,Document Ready,我有一个包含在Wordpress模板中的js文件。有没有一种方法可以访问我的“MediaBrowser”对象中的“$”函数,而不必笨拙地将其作为参数传递 谢谢, 史蒂夫 我猜你在什么地方有冲突?您可以为MediaBrowser创建一个闭包。请记住,它需要在jQuery加载后执行 var MediaBrowser = function() { var $ = jQuery; return { init : function() { // b
我猜你在什么地方有冲突?您可以为MediaBrowser创建一个闭包。请记住,它需要在jQuery加载后执行
var MediaBrowser = function() {
var $ = jQuery;
return {
init : function() {
// blah jquery stuff using $(..) syntax
}
...
}
}();
使用自调用函数通过$访问jQuery。你想这么做有很多原因,所以不要听别人告诉你只需在全球范围内访问它
var MediaBrowser = (function($) {
return {
initialize:function(){
$("a[rel^='mediaBrowser']").prettyPhoto();
}
};
}(jQuery));
始终可以封装在匿名函数中(但是,由于作用域的原因,您需要明确地将
媒体浏览器
作为窗口
的一部分:
(function($){
window.MediaBrowser = {
initialize: function(){
$('<p>').text('Sample').appendTo('body');
}
};
})(jQuery);
jQuery(document).ready(function(){
MediaBrowser.initialize();
});
(函数($){
window.MediaBrowser={
初始化:函数(){
$(“”).text('Sample').appendTo('body');
}
};
})(jQuery);
jQuery(文档).ready(函数(){
MediaBrowser.initialize();
});
你有什么理由不能只使用jQuery
而不使用$
吗?也许可以检查一下你的接受率,如果你对已经回答的问题给出反馈,你会得到更多的问题答案。@tadman:可能也是因为jQuery有一个方法。noConflict
方法?我想说,假设这个方法是安全的您明确使用jQuery
是有原因的,但希望能够使用$
速记,并且不受干扰。感谢您的提醒@stefgosselin.Ah,我最后只是将$=jQuery;加载到初始化上方的.ready函数中。感谢@NealI guess Wordpress动态加载jQuery,没有冲突我不熟悉WP和jquery(来自原型)。Thx用于sugg。Thx用于建议。我想我不想让它成为window对象的一部分。上面的操作非常简单。
var MediaBrowser = (function($) {
return {
initialize:function(){
$("a[rel^='mediaBrowser']").prettyPhoto();
}
};
}(jQuery));
(function($){
window.MediaBrowser = {
initialize: function(){
$('<p>').text('Sample').appendTo('body');
}
};
})(jQuery);
jQuery(document).ready(function(){
MediaBrowser.initialize();
});