Fixed #16776 -- Fixed a regression introduced in r16415 which caused Django's embedded jQuery to overwrite any pre-existing values of `window.jQuery` in the global namespace. Many thanks to Rob Hudson, Jannis Leidel and "anonymous" for the help resolving this issue.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16967 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Julien Phalip 2011-10-13 09:20:10 +00:00
parent 3b22c68343
commit 4da7c772ad
2 changed files with 14 additions and 6 deletions

View File

@ -1,4 +1,8 @@
// Puts the included jQuery into our own namespace /* Puts the included jQuery into our own namespace using noConflict and passing
* it 'true'. This ensures that the included jQuery doesn't pollute the global
* namespace (i.e. this preserves pre-existing values for both window.$ and
* window.jQuery).
*/
var django = { var django = {
"jQuery": jQuery.noConflict() "jQuery": jQuery.noConflict(true)
}; };

View File

@ -1289,10 +1289,14 @@ The :doc:`staticfiles app </ref/contrib/staticfiles>` prepends
definitions on forms <form-media-paths>`. definitions on forms <form-media-paths>`.
Django admin Javascript makes use of the `jQuery`_ library. To avoid Django admin Javascript makes use of the `jQuery`_ library. To avoid
conflict with user scripts, Django's jQuery is namespaced as conflicts with user-supplied scripts or libraries, Django's jQuery is
``django.jQuery``. If you want to use jQuery in your own admin namespaced as ``django.jQuery``. If you want to use jQuery in your own admin
JavaScript without including a second copy, you can use the JavaScript without including a second copy, you can use the ``django.jQuery``
``django.jQuery`` object on changelist and add/edit views. object on changelist and add/edit views.
If you require the jQuery library to be in the global namespace, for example
when using third-party jQuery plugins, or need a newer version of jQuery, you
will have to include your own copy of jQuery.
.. _jQuery: http://jquery.com .. _jQuery: http://jquery.com