4

不明な理由で、ボタンはjqueryuiコンボボックスを閉じません。

この動作を再現する手順:

  1. IE9でhttp://jqueryui.com/autocomplete/#comboboxを開きます。

  2. 右側のコンボボックスを選択します。

  3. ドロップダウン[▼]ボタンをクリックして開きます。

  4. ドロップダウン[▼]ボタンをもう一度クリックします。

観察された:

ドロップダウンメニューはまだ開いています

期待される:

ドロップダウンメニューを閉じる必要があります。

コードに含まれるもの:

if (input.autocomplete("widget").is(':visible')) {
    input.autocomplete('close');
    return false;
}

しかし、未知の理由input.autocomplete("widget").is(':visible')で常に誤りです。

ボタンをクリックしてドロップダウンを開いた場合、どうすればドロップダウンを閉じることができますか?

4

2 に答える 2

2

変数を追加します。

var isVisible = false;

このコードを次のクリックイベント関数内に追加します$( "<a>" )

if(isVisible == true)
{
    input.autocomplete( "close" );
    input.blur();
    isVisible = false;
}
else
    isVisible = true;
于 2012-12-24T08:54:20.197 に答える
0

Javascriptの代替:

 document.getElementById('my_autocomplete_element').blur();
于 2021-03-05T14:01:29.887 に答える