我有一个基于Joomla的网站。 Joomla使用mootools,而大多数扩展使用jquery。我有一个我在Joomla中使用的模板,我的注册页面似乎有问题。如果我改变我的模板一切正常。
我相信这是我使用的yootheme模板上的一些搜索猜测的jquery冲突。我从模板创建者那里得不到任何东西。
Firebug没有显示任何内容。关于我如何在这里调试任何问题的任何提示?
答案 0 :(得分:1)
这是一个命名空间问题。 mootools和jquery(除了原始的jQuery()
)使用相同的$()
- 命名函数作为它的选择器。在同一个站点上使用两个,一个将与另一个冲突。但是,由于mootools是Joomla的原生,而你的jQuery是“访问者”框架,你可以使用.noConflict()函数更改jQuery的命名空间。
//future uses of jQuery will use "j" instead of "$"
//i think you can still use the original "jQuery()" also
var j = jQuery.noConflict();
//instead of:
$("selector");
//now you use:
j("selector");
//or
jQuery("selector");
在加载jQuery之后声明.noConflict()
,但在Joomla的mootools脚本之前加载这两个。此外,无论插件中的jQuery脚本如何,请确保将$()
更改为您更改的命名空间,或jQuery()