jQuery与prototype.js冲突:Calender图标没有弹出

时间:2015-12-15 05:56:07

标签: javascript jquery

我使用jQuery编写了一些逻辑。要做到这一点,我需要放置:

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.3.min.js"></script>

但是,如果我放置它,那么我的日历图标不会弹出。 但如果我删除,逻辑将无法正常工作。我该怎么办?

2 个答案:

答案 0 :(得分:1)

确保jQuery是第一个......

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.3.min.js"></script>
<script>$.noConflict();</script>

然后在使用jQuery的代码中使用jQuerywindow.jQuery,而不是原型正在使用的$

如果你需要,你也可以包裹在生活中......

(function(w,$){
    //in here $ is jQuery, w.$ is prototype
}(window, jQuery))

答案 1 :(得分:0)

要解决jQueryprototype.js之间的冲突,您需要将jQuery置于No-Conflict模式,方法是将其分配给新的限定变量,如下所示:

/* Add prototype.js before jQuery */
<script src="prototype.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.3.min.js"></script>

/* Assign jQuery to qualified var */
var jQuery_1.11.3 = jQuery.noConflict();

/* Use in your code */
jQuery_1.11.3(document).ready(function() {
    // Your jQuery dependent code.
});

或者,您可以在jQuery之前添加prototype.js,并为您的逻辑使用完整的jQuery关键字,如下所示:

/* Include jQuery before prototype.js */
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.3.min.js"></script>
<script src="prototype.js"></script>  

/* Use full jQuery var name to reference jQuery */
jQuery(document).ready(function() {
    // Your jQuery dependent code.
});

Reference