原型/Mootools冲突问题

发布于 2024-08-11 04:07:38 字数 203 浏览 4 评论 0原文

所以我有一个同时使用 Prototype 和 Mootools AJAX 脚本的页面。

Mootools 比 Prototype 多得多,所以我想知道 Prototype 是否有一个类似于 jQuery 的 $j = jQuery.noConflict(); 的函数,我可以用它来重新定义 Prototype 的 $ 别名?

谢谢!

So I have a page that uses both Prototype and Mootools AJAX scripts.

There is much more Mootools that Prototype, so I'm wondering if Prototype has a function similar to jQuery's $j = jQuery.noConflict(); that I can use to redefine the $ alias for Prototype?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无尽的现实 2024-08-18 04:07:38

最新版本的 MooTools 具有无冲突模式。不幸的是,Prototype 没有,这意味着 $ 必须绑定到 Prototype。

要启用 Dollar 安全模式,请升级您的 MooTools 版本并确保在 Prototype 之后包含 MooTools。

<script type="text/javascript" src="prototype.js" />
<script type="text/javascript" src="mootools.js" />

执行此操作后,$ 将绑定到 Prototype。在 MooTools 脚本中,将所有 $ 引用替换为 document.id

// Before
var X = new Class({
    initialize: function(element){
        this.element = $(element);
    }
});


// After
var X = new Class({
    initialize: function(element){
        this.element = document.id(element);
    }
});

或者您可以使用闭包:

(function(){

    var $ = document.id;

    this.X = new Class({
        initialize: function(element){
            this.element = $(element);
        }
    });

})();

有关 Dollar 安全模式的更多信息,请参阅 MooTools 的博客:

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

The newest version of MooTools has a no conflict mode. Unfortunately, Prototype does not, which means that the $ will have to be bound to Prototype.

To enable the Dollar Safe Mode, upgrade your version of MooTools and make sure you include MooTools after Prototype.

<script type="text/javascript" src="prototype.js" />
<script type="text/javascript" src="mootools.js" />

After doing so, $ will be bound to Prototype. In MooTools scripts, replace all $ references to document.id.

// Before
var X = new Class({
    initialize: function(element){
        this.element = $(element);
    }
});


// After
var X = new Class({
    initialize: function(element){
        this.element = document.id(element);
    }
});

or you can use a closure:

(function(){

    var $ = document.id;

    this.X = new Class({
        initialize: function(element){
            this.element = $(element);
        }
    });

})();

More information about the Dollar Safe Mode is available in MooTools' blog:

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

跨年 2024-08-18 04:07:38

我有一个非常简单的解决方案:

<script src='mootools.js'></script>
<script>$moo = $; delete ($);</script>
<script src='prototype.js></script>



<script>

(function ($){


//here you can use $ of moo tools

})($moo);


//here you can use $ of prototype


</script>

I have a really simple solution:

<script src='mootools.js'></script>
<script>$moo = $; delete ($);</script>
<script src='prototype.js></script>



<script>

(function ($){


//here you can use $ of moo tools

})($moo);


//here you can use $ of prototype


</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文