调试jquery冲突

时间:2012-03-06 22:40:39

标签: jquery joomla

我有一个基于Joomla的网站。 Joomla使用mootools,而大多数扩展使用jquery。我有一个我在Joomla中使用的模板,我的注册页面似乎有问题。如果我改变我的模板一切正常。

我相信这是我使用的yootheme模板上的一些搜索猜测的jquery冲突。我从模板创建者那里得不到任何东西。

Firebug没有显示任何内容。关于我如何在这里调试任何问题的任何提示?

1 个答案:

答案 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()

相关问题