как проверить, чтобы увидеть, существует ли объект jquery - PullRequest
2 голосов
/ 23 января 2012

Я использую этот плагин для прокрутки div - https://github.com/thomd/jquery-scroll Я использую его не совсем так, как написано, потому что он ориентирован на div с фиксированной высотой.Высота моего div растет, поэтому я должен вызывать метод перекраски, когда div изменяет размеры.

Проблема, с которой я сталкиваюсь, заключается в том, что мне не всегда нужны полосы прокрутки при первой загрузке страницы, но при изменении размера страницы, которую я делаю.Итак, когда страница загружается, я получаю сообщение об ошибке - Uncaught TypeError: Невозможно вызвать метод repaint для неопределенного

. Я знаю, что если я хочу проверить, существует ли элемент, я могу сделать что-то вроде $('.selector'). length> 0, но в этом случае я хочу посмотреть, существует ли объект полосы прокрутки.Я попытался $ ('. Selector'). Scrollbar.length, и я возвращаюсь 1. Итак, я не совсем уверен, что происходит.Существует ли объект, и если да, то почему я не могу вызвать метод перекраски?Или он не существует и если нет, то почему он возвращает 1?Или я проверяю это неправильно?Спасибо.

1 Ответ

0 голосов
/ 23 января 2012

Попробуйте это:

if(typeof $('.selector').scrollbar != 'undefined')

Но это также может быть ошибка с библиотекой, которая показывает, когда ваш селектор работает пусто, попробуйте это:

if($('.selector').length > 0) 
  $('.selector').scrollbar({}); //or whatever you want to do with scrollbar here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...