butteff
@butteff
Раз в тысячу лет заправляю свитер в носки

Как узнать определена ли функция в js?

На некоторых страницах есть ошибка
$(...).autocomplete is not a function

Как сделать проверку на то, определена ли функция, до ее инициализации?
Так пробовал, не работает:
if ( typeof(autocomplete) == 'function') { }
console.log(typeof(autocomplete)) пишет, что undefined, даже на страницах, где функция точно определена и работает.
  • Вопрос задан
  • 2072 просмотра
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
jQuery плагины, все как один, основаны на расширении прототипа $.
Поэтому, если у вас нет в любом объекте jQuery метода из подключённой библиотеки, значит вы её не подключили.

А вызвать код, способный привести к выбрасыванию исключения, можно с помощью:
try {
	//тут возможно проблемный код
} catch (error) {
	//а тут то, что делать, когда код выше вызвал ошибку
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
difiso
@difiso
В параллельной вселенной я космонавт
$.autocomplete и autocomplete суть разные функции. Либо проверяйте typeof($.autocomplete) === 'function' либо$.autocomplete === undefined
Ответ написан
sokollondon
@sokollondon
if($.fn.autocomplete){
    
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы