我在让 jQuery 与 DokuWiki 配合使用时遇到了一些麻烦——有人已经成功地做到了这一点吗?
目前,包括 jQuery 在内的各种 JS 功能中断,我无法追踪问题的根源。哪些东西会与 jQuery 发生冲突?
我在让 jQuery 与 DokuWiki 配合使用时遇到了一些麻烦——有人已经成功地做到了这一点吗?
目前,包括 jQuery 在内的各种 JS 功能中断,我无法追踪问题的根源。哪些东西会与 jQuery 发生冲突?
我个人对 DokuWiki 并不熟悉,但如果在包含 jQuery 时出现问题,那么它可能与 jQuery 中的“$”变量发生冲突。你可以使用 jQuery 的 noConflict 方法来解决这个问题,更多信息在这里: http://docs.jquery.com/Using_jQuery_with_Other_Libraries
另请参阅此 Stack Overflow 帖子: jQuery 和原型冲突
您通常可以在加载后立即使用以下内容来避免任何 jQuery 冲突jquery.js
:
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")
or 代替$
. 要在您的代码中使用 nicer $
,只需像这样围绕它包装一个函数:
jQuery.noConflict()
(function($) {
$("your element selector").whatever();
})(jQuery)
将 jquery 函数包装在闭包中的好处是什么的答案中描述的其他好处?