使用django-debug-toolbar可以访问$(document).ready()中的jquery插件的问题

问题描述 投票:1回答:3

我写了我自己的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之间建立友谊吗?

jquery django jquery-plugins
3个回答
2
投票

尝试

$.fn.anchor

刚刚测试了您的代码示例,并且两次结果相同。但由于它扩展了jQuery对象原型,因此在一般情况下以及将来扩展$。fn。当您只执行$。anchor时,您只是在扩展该对象的实例。


2
投票

我认为应该是:

(function($) {
    $.fn.anchor = {
        hashTrim: /^.*#/,
    }
})(jQuery);

编辑:

我也两次获得相同的结果,与其他人一样。


0
投票

我通过切换到另一个fork-alex's django_debug_toolbar部分解决了这个问题。

但是我认为它比以前更丑,然后是david cramer's django_debug_toolbar,其中包含jQuery的此问题。我希望将来能将避免这种问题的功能从alex转移到dcramer的fork。

© www.soinside.com 2019 - 2024. All rights reserved.