プロジェクトの 1 つで、カスタム作成プラグインの 1 つでjQuery Token Inputプラグインを使用しています。
私のプラグインは基本的に、初期化された要素にアンカータグを追加し、アンカーリンクをクリックすると、jquery token input
プラグインにバインドされたテキスト入力要素が表示されます。
FocusOut
イベントで、テキスト入力を非表示にしたい (この場合、ul
テキスト入力の代わりに jquery トークン入力によって初期化されます)。
今まですべて正常に動作しています。
しかし、Alt キーを押すと、メインul
は期待どおり非表示になりますが、ドロップダウンul
は引き続き表示されます。
私が直面している問題を確認するには、このJSFiddleを表示することもできます。申し訳ありませんが、CSS の部分については、CSS ファイルを含めましたが、何らかの理由で期待どおりに動作しません。
ここで、フィドルで+ Add
ボタンをクリックすると入力とドロップダウン(指示付き)が表示され、プレビューウィンドウの他の場所をクリックすると消えます。これは予想される動作です。
ただし、追加ボタンをクリックして入力とドロップダウンが表示されたら、alt キーを押すと (focusout イベントが開始されます)、入力は消えますが、ドロップダウンは表示されます。何故ですか ?
これを引き起こす理由は何ですか?
アップデート:
ややこしくなってしまいましたが、申し訳ありません。以下は、予想される動作と問題の比較です。
ケース 1: (ボディのどこかをクリックしてトリガーされる focusout イベント)。
この場合、ユーザーが +Add ボタンをクリック > 入力ボックスが表示され、ドロップダウンが開いています > ユーザーが本文の別の場所をクリックしてフォーカスを外します > 入力とドロップダウンが消えます。
これは予期される動作です。
ケース 2: (キープレスでトリガーされた focusout イベントalt
)。
この場合、ユーザーが +Add ボタンをクリック > ドロップダウンが開いた状態で入力ボックスが表示されます > ユーザーがalt
focusout イベントをトリガーするキーを押します > 入力は消えますが、ドロップダウンは消えません。
この場合もドロップダウンが消えるようにする必要があります。
注: 何らかの理由で、ドロップダウン CSS がフィドルでめちゃくちゃになっています。というテキストtype somethig
はドロップダウン要素です。