私はinput type=text
コントロールT
を持っています。フォーカスすると、JavaScriptがdiv
のUIエレメントE
を表示するように実行されます。DOMノードのフォーカスとブラーイベントの処理
T
がぼやけると、E
はonblur
コールバックによって隠されます。
しかし、ユーザがE
をクリックすると、もちろんT
はぼやけますが、この場合はE
を非表示にしたくありません。
onblur
コールバックのT
では、通常のぼかしとぼかしの間でコントロール内のどこかを区別できますか?
私はdocument.activeElement
を試しましたが、これは私には役に立たないbody
要素を返します。
最小例:
https://jsfiddle.net/1w8hr5jr/
編集:それはDOMノードの唯一の特定の種類のfocus
とblur
は私のニーズに十分に強力であることを、フォーカスを受け取ることができるので、ある場合
ですここに?
JS pureのみを使用していますか? –
多分あなたはonblurを使うべきではないが、Eを隠すためにドキュメントのクリックイベントを使うべきであるので、クリックターゲットがEかEで含まれているかどうかをテストすることができる –
純粋なJSを好むが、JQueryを持っている – Ben