gpt4 book ai didi

Jquery 不能与 Prototype 一起使用

转载 作者:行者123 更新时间:2023-12-01 05:03:45 30 4
gpt4 key购买 nike

<script src="jquery.js"></script>
<script>
var $jq = jQuery.noConflict();
$jq(document).ready(function(){
alert("123");
$jq("#redactor_content").redactor();
alert("456");
});
</script>
<script src="prototype.js"></script>
<script src="redactor.js"></script>

“redactor.js”是基于 JQuery 的所见即所得编辑器:http://imperavi.com/download/redactor/get/,其来源为:

...
(function($){
// Initialization
$.fn.redactor = function(options)
{ ... };
})(jQuery);
...

当我评论“prototype.js”时 - 一切正常(我看到“123456”)。

使用“prototype.js” - 只能看到“123”,而“redactor”不起作用。 (这意味着命名空间工作正常,对吧?为什么第二个警报不起作用?)

当我仅评论 $jq(document).ready(function(){ 并在调用之前移动“redactor.js”时(调用“redactor()”而无需等待 DOM) - 一切都很好。

不太明白原理。包含“jquery.js”后,我首先覆盖“$”,然后包含“prototype.js”以避免冲突。但命名空间 Jquery 仍然与 Prototype 相交。我怀疑错误出现在此处: $jq("#redactor_content").redactor(); 我需要执行以下操作: .redactor($jq);,但它打破了我的头,我无法猜测。

P.S.:是的,我阅读了文档( http://docs.jquery.com/Using_jQuery_with_Other_Libraries )并尝试了不同的方法(交换库并尝试 $.noConflict, jQuery(document).ready ...)。我写了一个例子,一切正常,并且有一定的清晰度。

我的第二个问题:它能一起工作吗:jQuery(document).ready(function() 和 Prototype 的 document.observe("dom:loaded", function()) > 如果否,如何一起工作?

谢谢。

最佳答案

尝试更换

<script>
var $jq = jQuery.noConflict();
$jq(document).ready(function(){
alert("123");
$jq("#redactor_content").redactor();
alert("456");
});
</script>

<script>
(function($){
$(document).ready(function(){
alert("123");
$("#redactor_content").redactor();
alert("456");
});
})(jQuery);
</script>

关于Jquery 不能与 Prototype 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7702881/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com