【发布时间】:2009-01-29 03:51:58
【问题描述】:
我在让 jQuery 与 DokuWiki 配合使用时遇到了一些问题 - 有人已经成功地做到了这一点吗?
目前,包括 jQuery 在内的各种 JS 功能中断,我无法追踪问题的根源。有哪些东西会与 jQuery 发生冲突?
【问题讨论】:
标签: javascript jquery dokuwiki
我在让 jQuery 与 DokuWiki 配合使用时遇到了一些问题 - 有人已经成功地做到了这一点吗?
目前,包括 jQuery 在内的各种 JS 功能中断,我无法追踪问题的根源。有哪些东西会与 jQuery 发生冲突?
【问题讨论】:
标签: javascript jquery dokuwiki
我个人对 DokuWiki 并不熟悉,但如果在包含 jQuery 时出现问题,那么它可能与 jQuery 中的“$”变量发生冲突。你可以使用 jQuery 的 noConflict 方法来解决这个问题,更多信息在这里: http://docs.jquery.com/Using_jQuery_with_Other_Libraries
另请参阅此 Stack Overflow 帖子: jQuery & Prototype Conflict
【讨论】:
您通常可以在加载jquery.js 后立即使用以下内容来避免任何 jQuery 冲突:
jQuery.noConflict();
然后,它不会覆盖$ 变量,这是这些 JS 库冲突中最常见的问题根源。不过,您需要使用jQuery 调用jQuery 函数。例子:
jQuery(function() { ... }); // $(function ...
jQuery(".klass").hide(); // $(".klass" ...
【讨论】:
还有一个将 JQuery 添加到 DokuWiki 的插件:http://www.dokuwiki.org/plugin:jquery
【讨论】:
jQuery.noConflict();
然后您可以使用jQuery("your element selector") 或其他任何东西来代替$。要在您的代码中使用更好的 $,只需像这样围绕它包装一个函数:
jQuery.noConflict()
(function($) {
$("your element selector").whatever();
})(jQuery)
What is the benefit of wrapping a jquery function in a closure? 的答复中描述的其他好处
【讨论】: