Обнаружение автозаполнения пользовательского интерфейса jQuery - PullRequest
7 голосов
/ 31 октября 2008

Как я могу определить, является ли поле ввода в настоящий момент автозаполнением пользовательского интерфейса jQuery? Кажется, для этого нет собственного метода, но я надеюсь, что есть что-то простое:

if ($("#q").autocomplete)
{
  //Do something
}

Однако это условие, похоже, всегда возвращает true.

Ответы [ 5 ]

11 голосов
/ 01 ноября 2008
if ($("#q").hasClass("ac_input")) {
    // do something
}

UPDATE

Имя класса в виджете автозаполнения интерфейса JQuery UI теперь 'ui-autocomplete-input', поэтому код будет:

if ($("#q").hasClass("ui-autocomplete-input")) {
    // do something
}
9 голосов
/ 16 июня 2011

Вы также можете найти поведение автозаполнения, прикрепленное к элементу ввода, по следующей строке кода:

if ($('Selector').data('autocomplete')) {
}
3 голосов
/ 26 апреля 2010

Вы можете использовать

if( $.isFunction( $.fn.autocomplete ) ){ }

.isFunction является частью библиотеки jQuery. (цитировать: http://james.padolsey.com/jquery/....isFunction)

2 голосов
/ 06 сентября 2017

Если плагин пользовательского интерфейса jquery для автозаполнения уже включен для этой страницы, и вы просто хотите проверить, настроен ли определенный (входной) элемент с функцией автозаполнения, вы можете использовать официальный метод API как показано ниже:

if ($("#q").autocomplete("instance")) {
    console.log("autocomplete already setup for #q");
} else {
    console.log("NO autocomplete for #q");
}

Более подробную информацию можно найти на http://api.jqueryui.com/autocomplete/#method-instance

1 голос
/ 31 октября 2008

Это правда, потому что, как только вы включили автозаполнение js, каждый объект $ () теперь имеет определенный метод autocomplete () (на случай, если вы хотите активировать автозаполнение для этих элементов). Ваш if () просто говорит, что эта функция не равна нулю.

У меня, к сожалению, нет системы, где я мог бы это проверить (оставил ноутбук сегодня дома), но я считаю, что автозаполнение добавляет имя класса css к элементам, которые он использует. Вы можете посмотреть на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...