在一个应用程序中将 jQuery 和 YUI 混合在一起,这很容易吗?

Posted

技术标签:

【中文标题】在一个应用程序中将 jQuery 和 YUI 混合在一起,这很容易吗?【英文标题】:Mixing jQuery and YUI together in an app, is it easily possible? 【发布时间】:2010-09-17 03:17:05 【问题描述】:

我必须以我喜欢 jQuery 作为 javascript 语言扩展和 YUI 作为一组丰富的免费控件的事实作为开头。所以这是我的问题,如果我在我正在开发的 MVC 应用程序中将 jQuery 和 YUI 混合在一起,是否会出现任何问题。

我想使用 jQuery 来处理 DOM 的繁重工作,并且我想使用 YUI 来处理丰富的用户控件集。这是一个内部应用程序,在我工作的组织之外永远不会出现。

如果有人有混合这两个框架的经验,我很想听听你的经验。

【问题讨论】:

【参考方案1】:

从我自己开发一个小工具的一些经验来看,我过去曾使用 YUI 丰富的控件集和 Prototype 进行 DOM 操作,并且没有遇到任何问题。诚然,这是一个小工具,没有使用广泛的控件。

即便如此,我总是对在我的 Web 项目中使用多个框架犹豫不决;但是,如果您只使用 jQuery 的 DOM 功能和 YUI 的控制功能,那么我认为您很好 - 那里并没有真正的利益冲突。另外,有了 jQuery 的 noConflict() 模式和 YUI 的命名空间,这两个框架真的不应该互相胜过。

【讨论】:

同样,我使用过 YUI(用于布局网格、菜单)和 jQuery(用于通用 DOM 遍历/操作),两者都非常注意命名空间(将 jQuery 与其他框架混合时/库使用 jQuery.noConflict() 来防止它使用“$”变量)。【参考方案2】:

这是一个老问题,但想在这个主题上添加一个指向 jQuery 文档的链接......

http://docs.jquery.com/Using_jQuery_with_Other_Libraries

【讨论】:

+1。根据该文档的建议,我只是在 YUI 之前添加了 jquery,并且对于我正在研究的概念验证来说,事情运行得很好。【参考方案3】:

我经常使用带有 YUI 的 jQuery(jQuery 用于大多数事情,YUI 用于 UI 元素)没有任何问题。

请注意,YUI 3 将引入 jQuery 样式选择器和链接:

http://developer.yahoo.com/yui/3/

【讨论】:

【参考方案4】:

我认为这应该不是问题,因为 YUI 都包含在“命名空间”中,所以它不应该破坏任何东西(我不知道 jquery 是否破坏了 YUI 周围的东西,但只要它没有扩展基本对象应该没有任何问题)。 我记得 Dustin Diaz 提出了一个类似于 jquery 并围绕 YUI 构建的库: http://www.dustindiaz.com/introducing-ded-chain/ 我现在尝试下载它,但该网站现在离线。

【讨论】:

【参考方案5】:

是的,在 YUI 旁边使用 jquery 绝对是可能的,特别是因为 jquery 和 YUI 都采取了强有力的措施来防止全局命名空间污染。 然而,实现这样的组合不必要地提供了许多冗余功能。我强烈建议您使用 YUI3,它提供了 Jquery 的大部分功能等等。 YUI3 的语法更加简洁明了,并且有很好的文档记录。 但是,您可能正在使用一些 jquery 插件,其 YUI 替代方案不可用。在这种情况下,我建议您查看 Jquery UI 或 wijmo 以满足您的 UI 需求,或者使用像 UKI 这样的轻量级 UI 工具包。 或者,您也可以查看具有可用 Jquery 适配器的 ExtJS,通过它您可以利用您对 jquery 的熟悉以及 extjs 的丰富小部件。

【讨论】:

以上是关于在一个应用程序中将 jQuery 和 YUI 混合在一起,这很容易吗?的主要内容,如果未能解决你的问题,请参考以下文章

YUI字体3字体大小的较少混合

从 YUI 数据表迁移到 Jquery 数据表时的提示

YUI 中的 jQuery outerHeight() 等价物是啥

Jquery,YUI这个著名js库名称作用的理解

在 Core Data 中将“默认”数据与用户提供的数据混合在一起

在具有混合数据类型的数据框中将所有出现的真/假转换为 1/0 [重复]