我编写了自己的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变量???
您的测试用例在http://movister.ru:5190/html/test.html
谢谢!
更新
我只是抓住了问题 - django-debug-toolbar。当我禁用它时,一切都会变好!
有谁知道如何在jquery和django-debug-toolbar之间建立友谊?
答案 0 :(得分:2)
尝试
$.fn.anchor
刚刚测试了您的代码示例,两次结果都是相同的。但总的来说,并且为了将来扩展 $。fn ,因为它扩展了jQuery对象原型。当您执行 $。anchor 时,您只是扩展该对象的实例。
答案 1 :(得分:2)
我认为应该是:
(function($) {
$.fn.anchor = {
hashTrim: /^.*#/,
}
})(jQuery);
修改强>
我也得到了同样的结果,和其他人一样。
答案 2 :(得分:0)
我通过切换到另一个分支 - alex's django_debug_toolbar来部分解决这个问题。
但是我认为它更丑陋,然后david cramer's django_debug_toolbar,我之前使用过,它包含了jQuery的这个问题。我希望将来能够将这个问题从alex's转移到dcramer的分支。