何かを書くと、入力フィールドに「クリア」アイコンが動的に表示されます。キープレスとフォーカス イベントはそれをうまく処理します。唯一のことは、入力フィールドがフォーカス モードでないときにアイコンを削除することです。問題は、アイコンにクリック イベントがあるため、アイコンをクリックすると focusout イベントが発生することです。私はそれを理解することはできません。
$(".searchInput").focusout(function(e) {
console.log(e);
if(e.currentTarget != this) {
if ($(".keypress").length > 0) {
$(".keypress").remove();
}
}
})
少しフィドルをまとめました: http://jsfiddle.net/w9RbW/。
ご覧のとおり、入力値が空でない場合、アイコンはまだそこにあり、クリックされているかどうかを確認する方法がわかりません...