我想使用这些东西。我希望他们选择聪明的命名约定来防止与其所有函数和类的冲突?有人在一个网站上同时使用所有这些吗?
答案 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都扩展了String
和Array
等原生javascript对象。我认为没有任何办法可以让它们在没有冲突的情况下协同工作。
但是,jQuery只定义了一个全局$
对象,如果使用noConflict
模式,它可以放弃。然后,您将使用jQuery
对象。