Режим noConflict в jQuery

Если на сайте возникает javascript ошибка Uncaught TypeError: Property '$' of object [object DOMWindow] is not a function — скорее всего это значит, что нужно включить режим jQuery noConflict

Режим noConflict используется в jQuery для совместимости с другими библиотеками javascript.

Как это работает:

Можно попробовать в файле, где возникает ошибка заменить все $ на jQuery

Другой способ — в начале документа необходимо строку

jQuery(document).ready(function(){

заменить на

$.noConflict();
jQuery(document).ready(function($) {

Данный способ позволит в дальнейшем использовать $

 

Есть еще один, более правильный вариант — создать «обертку», в которой связать знак доллара $ с jQuery, чтобы исключить конфликты внутри нее

(function($) {
// body
})(jQuery);

А также вместо

$(document).ready(function($) {

Использовать более короткую запись

$(function() {

Т.е. в итоге получится такая запись

(function($) {
$(function() {
// body
})
})(jQuery);


Оставьте свой комментарий

Оставить комментарий от имени гостя

0 / 2500 Ограничение символов
Ваш текст должен быть в пределах 10-2500 символов
Комментарии | Добавить свои
  • Комментарии не найдены