Режим noConflict в jQuery
Если на сайте возникает javascript ошибка Uncaught TypeError: Property ‘$’ of object [object DOMWindow] is not a function — скорее всего это значит, что нужно включить режим noConflict jQuery. Режим noConflict используется в jQuery для совместимости с другими библиотеками javascript.
Как это работает?
Существует несколько вариантов решения возникших конфликтов.
Можно попробовать в файле, где возникает ошибка заменить все $ на jQuery.
Другой способ — в начале документа необходимо строку
1 |
jQuery(document).ready(function(){ |
заменить на
1 2 |
$.noConflict(); jQuery(document).ready(function($) { |
Данный способ позволит в дальнейшем использовать $
Есть еще один, более правильный вариант — создать «обертку», в которой связать знак доллара $ с jQuery, чтобы исключить конфликты внутри нее
1 2 3 |
(function($) { // body })(jQuery); |
А также вместо
1 |
$(document).ready(function($) { |
Использовать более короткую запись
1 |
$(function() { |
Т.е. в итоге получится такая запись
1 2 3 4 5 |
(function($) { $(function() { // body }) })(jQuery); |
Комментарии
Здесь еще никто не оставлял комментарии.