javascript - 如何避免 JQuery 和 Prototype 之间的冲突

标签 javascript jquery prototypejs conflict

如果一个页面同时具有 JQuery 和 Prototype,那么我就会发生冲突。有一个选项可以为 JQuery 禁用 $ 符号,因此没有冲突,但是我必须使用关键字 JQuery 而不是 $。

我想知道Prototype有没有办法解决这个冲突。有没有什么方法可以同时使用这两个库而不影响它们的优势或短关键字?

据我所知,为同一个页面使用多个 JS 库不是一个好主意;但有时它可能会有所帮助。

最佳答案

使用 noConflict jQuery 的方法并将其分配给一个新的(短)变量。在 jQuery 中使用 $ 的地方使用新变量。

var $j = jQuery.noConflict();

$j(function() {
    $j('#selector').each( .... );
});

或者,如果您不需要混合使用 Prototype/jQuery,您可以将所有 jQuery 代码包装在一个匿名函数中。

(function($) {
    // $ sign here is a parameter, which is set to jQuery 

    $(function() {
        $('#selector').each( .... );
    });
})(jQuery);

关于javascript - 如何避免 JQuery 和 Prototype 之间的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1401349/

相关文章:

Javascript 获取 url 并通过添加到它来重定向

javascript - 从列表中选择 4 张图像

JQuery 克隆页面链接不起作用

javascript - ScrollHeight 未使用 JQuery 在 IE8 中更新

javascript - 如何在 IE6 中使用带有原型(prototype)的元素添加 <table>?

javascript - 如何在原型(prototype)中查找没有ID的嵌套html元素

java - 在同一主机上的 node.js 和 java 之间进行通信的最佳方式

javascript - 为什么这个 if 语句不起作用?

javascript - 使用 javascript(或 jQuery)选择和操作 CSS 伪元素,例如::before 和::after

javascript - 将选项从 <select> 移动到 <select multiple> - 选项选择属性被破坏?