如何防止mooTools和Prototype之间的冲突

how to prevent conflicts between mooTools and Prototype

提问人:Wondering 提问时间:11/24/2009 最后编辑:Miguel VenturaWondering 更新时间:12/17/2009 访问量:6248

问:

我知道jQuery.noConflict()用于避免任何其他库的$与jQuery之间的冲突。(即原型) 但是让我们说,无论如何,我正在使用 Prototype、MooTools 和 jQuery.In jQuery.noConflict() 适用于 jQuery 和任何其他库组合,但是 Prototype 和 MooTools 呢,如果它们都使用 $,代码 /browser 怎么会正确识别它。 注意:我从未使用过 Prototype 和 MooTools ,所以如果我的问题没有,我很抱歉 有任何意义。

jquery mootools prototypejs unobtrusive-javascript

评论

1赞 Jeff Paquette 11/24/2009
听起来您真的在寻找如何防止 mooTools 和 Prototype 之间的冲突。

答:

2赞 David Hedlund 11/24/2009 #1

如果这些其他框架没有与该选项对应的内容,则这些框架的最后一个加载将覆盖其自己的定义,并且第一个加载的框架将被破坏,如果它们都依赖于noConflict$$

评论

2赞 Jeff Paquette 11/25/2009
你可以研究jQuery如何实现noConflict,并将其应用于moo源代码,并将其贡献给社区。原型同上。
4赞 Guillermo Rauch 12/7/2009 #2

请查看以下内容:

http://mootools.net/blog/2009/06/22/the-dollar-safe-mode/

-1赞 jmking 12/17/2009 #3

通常,强烈建议不要混合使用两个库。这不仅是由于潜在的冲突,而且是由于过多的开销和性能影响。混合三个显然会更糟。

这个问题的最佳解决方案是将一个或多个框架排除在外。在jQuery中可以做的任何事情都可以在Mootools中完成,反之亦然。在 Prototype 上编写的任何内容都可以相当轻松地移植到 jQuery 或 Mootools。

评论

1赞 Jaime Hablutzel 3/14/2011
如果您将现有代码作为 joomla 代码进行处理,则它不适用,因为它到处都使用 mootools,如果您只知道 jquery,则必须找到一些避免冲突的方法