DokuWiki和jQuery可以一起使用吗?

8

我遇到了一些问题,无法让jQuery与DokuWiki良好兼容 - 有人已经成功完成了此操作吗?

目前,包含jQuery会导致所有的JS功能中断,我无法找出问题的根源。有哪些可能与jQuery冲突的东西需要注意?

4个回答

16

6
据我所知,添加到全局命名空间中的唯一项是 $ 和 jQuery(它们是同义词)。使用 noConflict() 函数可以将其缩减为仅使用 jQuery。希望 DokuWiki 中没有引用任何名为 jQuery 的全局命名空间中的内容 ;) - Adam Bellaire

6

6

在加载jquery.js之后,您可以使用以下内容来避免任何jQuery冲突:

jQuery.noConflict();

那么,它就不会覆盖$变量,这是在这些JS库冲突中最常见的问题来源。但是你需要使用jQuery调用jQuery函数。例如:

jQuery(function() { ... }); // $(function ...
jQuery(".klass").hide();    // $(".klass" ...

0
jQuery.noConflict();

然后你可以使用 jQuery("your element selector") 或其他代替 $。如果想在代码中使用更好的 $,只需像这样将其包装在一个函数中:

jQuery.noConflict()
(function($) {
  $("your element selector").whatever();
})(jQuery)

将jQuery函数包装在闭包中的好处是什么?的答案中描述了其他的好处。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接