我写了我自己的jquery插件,很惊讶我没有在$(document).ready函数中访问它。
我写了这个测试页,感到更加惊讶:
//jQuery anchor plugin
(function ($) {
$.anchor = {
hashTrim: /^.*#/,
}
})(jQuery);
console.log($.ajax);
console.log($.anchor);
$(function () {
console.log($.ajax);
console.log($.anchor);
});
我在Firebug控制台中有4个完全不同的值。有人知道并且可以形容我为什么会这样吗?和主要问题-我如何可以访问$(function(){} ???]
中的$ .anchor变量谢谢!
UPDATE:
我只是抓住了问题-django-debug-toolbar。当我禁用它时,一切都会变好!
有人知道如何在jQuery和django-debug-toolbar之间建立友谊吗?
尝试
$.fn.anchor
刚刚测试了您的代码示例,并且两次结果相同。但由于它扩展了jQuery对象原型,因此在一般情况下以及将来扩展$。fn。当您只执行$。anchor时,您只是在扩展该对象的实例。
我认为应该是:
(function($) {
$.fn.anchor = {
hashTrim: /^.*#/,
}
})(jQuery);
编辑:
我也两次获得相同的结果,与其他人一样。
我通过切换到另一个fork-alex's django_debug_toolbar部分解决了这个问题。
但是我认为它比以前更丑,然后是david cramer's django_debug_toolbar,其中包含jQuery的此问题。我希望将来能将避免这种问题的功能从alex转移到dcramer的fork。