YUIオートコンプリート選択でイベントをぼかしに対応できない方法
-
21-12-2019 - |
質問
OnblurとOnSelectイベントに折り返さないようにしようとしています。ユーザーが他の場所をクリックして選択すると、ACを非表示にする必要があります。問題は、ぼかしのイベントがONSelectにも発生していることです。ACの外側をクリックしている場合にのみトリガーされたイベントが見つかりませんでした。
基本的に私が欲しいものは次のような出力です。
外側をクリックします。a:blur
値の選択:val
を選択
しかし私が手に入っているのは:
外側をクリックします。a:blur
選択値:Blur、Val
を選択
選択したACを選択します。
解決
Blur Eventが何かを選択したときに発射され、それを防ぐことができない可能性がありますが、Blurではタイムアウトを設定します。タイムがタイムアウトした場合は、通常ぼかしにしていることをしてください。
選択イベントで、タイマーをキャンセルします。
いくつかの非常に緩い疑似コード:
var blurTimer = null;
function handleBlur() {
blurTimer = setTimeout(function() {
// do what you normally do onblur
}, 50);
}
function handleSelect() {
clearTimeout(blurTimer);
// do what you normaly do on select
}
. 所属していません StackOverflow