是否可以将MooTools与Prototype和JQuery UI混合使用?

时间:2009-12-31 00:02:53

标签: javascript jquery jquery-ui mootools prototypejs

我想使用这些东西。我希望他们选择聪明的命名约定来防止与其所有函数和类的冲突?有人在一个网站上同时使用所有这些吗?

3 个答案:

答案 0 :(得分:6)

虽然可以完成(使用noConflict),但仍有潜在的冲突。

例如,jQuery为它接触的元素节点添加了一个唯一的ID,它希望管理它。如果你通过jQuery之外的方法删除这些元素,你可能会出现内存泄漏;如果你从另一个框架(或DOM调用)克隆它们,你可能会混淆jQuery与微妙和奇怪的结果。框架的事件模型之间也存在许多潜在的交互,尤其是jQuery中的live

如果您将每个框架触及的元素完全分开,您可能可以逃脱它。但实际上,我不推荐它。如果可能,请将页面使用的框架数量保持在0和1之间。

答案 1 :(得分:2)

可以简单地使用jQuery.noConflict()将mootools和jquery一起使用,或者jquery和prototype一起使用。将所有三个放在一起可能是一个延伸,因为我不相信Prototype和Mootools没有冲突模式并且都定义$。但是,this article讨论了在Mootools中安全使用$,这可能会解决您的问题。

答案 2 :(得分:1)

Mootools和Prototype都扩展了StringArray等原生javascript对象。我认为没有任何办法可以让它们在没有冲突的情况下协同工作。

但是,jQuery只定义了一个全局$对象,如果使用noConflict模式,它可以放弃。然后,您将使用jQuery对象。