Режим 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);

Статья оказалась полезной? Вырази благодарность - поделись в соцсетях

Комментирование отключено