nim*_*cap 2 jquery jquery-selectors
我服务的用户在我提供的页面中包含JS.我正在托管他们所包含的脚本.我的脚本对其内容进行了一些操作.如果我可以使用jQuery,我厌倦了编写自己的DOM操纵器/选择器并浪费时间来完成可以用1行代码完成的工作.
我的服务的一些用户已经在他们的页面上使用jQuery(或Prototype等),所以如果我包含jQuery会有冲突.因为会有版本差异,所以我不想在jQuery存在的情况下使用他们的jQuery选择器,方法.
请记住,我无法控制他们的页面,我如何包含jQuery并避免冲突?
简短版:你不能.
包括jQuery两次会导致各种各样的问题,最重要的是它会删除你添加的任何插件/功能.此外,它可能会为他们使用jQuery 带来很多问题...它并没有真正考虑到多个版本的设计.
.noConflict()对抗其他图书馆冲突,但你不必担心$这里,你正在重新定义jQuery对象,这就是问题出现的地方.例如,它在启动时装配处理程序等,如果它被页面中的另一个版本覆盖......好吧,哦,哦,麻烦很快就会出现.
另一个很好的例子:事件被存储/访问$.data(elem, 'events'),它使用$.cache(在这个页面上打开一个控制台,检查它),这将被重新定义,丢失事件处理程序,以及理智与它:)
| 归档时间: |
|
| 查看次数: |
1496 次 |
| 最近记录: |