2015-12-15 4 views
1

Я закодировал некоторую логику с помощью jQuery. Для того, чтобы работать мне нужно ставить:jQuery конфликт с prototype.js: значок календаря не появляется

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

Но если я поместить это, то мой значок каландра не выскакивает. Но если я удалю, логика не сработает. Что я должен сделать?

+1

Вы уже могли бы использовать другой JQuery на той же странице, что конфликтует с этим. Вы наблюдаете какие-либо ошибки в консоли? –

+1

Я получаю следующую ошибку Не могу установить свойство '0' неопределенного в файле, называемом prototype.js –

+1

Где следующая ошибка? –

ответ

0

Чтобы разрешить конфликт между jQuery и prototype.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

1

Убедитесь, что JQuery является первым ...

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

Затем используйте jQuery или window.jQuery в коде, который использует JQuery вместо $, который является то, что прототип использует.

Вы также можете обернуть в iife, если вам нужно ...

(function(w,$){ 
    //in here $ is jQuery, w.$ is prototype 
}(window, jQuery)) 
Смежные вопросы