8

入力ボックスが現在 jQuery UI オートコンプリートであるかどうかを検出するにはどうすればよいですか? これにはネイティブな方法はないようですが、次のような簡単なものがあることを願っています。

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

ただし、その条件は常に true を返すようです。

4

5 に答える 5

13
if ($("#q").hasClass("ac_input")) {
    // do something
}

アップデート

JQuery UI オートコンプリート ウィジェットのクラス名が「ui-autocomplete-input」になり、コードは次のようになります。

if ($("#q").hasClass("ui-autocomplete-input")) {
    // do something
}
于 2008-10-31T22:16:11.103 に答える
10

次のコード行によって、入力要素に関連付けられたオートコンプリート動作を見つけることもできます。

if ($('Selector').data('autocomplete')) {
}
于 2011-06-16T10:15:44.243 に答える
3

使用できます

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

.isFunctionはjQueryライブラリの一部です。(引用: http://james.padolsey.com/jquery / .... isFunction

于 2010-04-26T13:00:15.907 に答える
1

オートコンプリート js を含めると、すべての $() オブジェクトに autocomplete() メソッドが定義されるためです (これらの要素のオートコンプリートを有効にする場合)。あなたの if() は、その関数がnullではないと言っているだけです。

残念ながら、これを確認できるシステムはありませんが(今日ラップトップを家に置きました)、オートコンプリートは使用している要素にcssクラス名を追加すると思います。あなたはそれを探すことができます。

于 2008-10-31T20:07:33.470 に答える