Internet Explorerでは、テキストボックスに入力を開始すると、小さなxのようなボタンが表示されます。このアイコンがクリックされたときにイベントを検出するにはどうすればよいですか?イベントタイプはありますか?
<input type="text" value ="" id ="qsearch" name="qsearch"
onBlur="qsearchLookup(this.value);" OnClick="qsearchLookup(this.value);"
onkeyup="qsearchLookup(this.value)" size="26">
function qsearchLookup(searchVal){
document.getElementById("qsearch").value="";
}
この小さなxのようなボタンの特別なイベントについてはわかりません。存在するとは思いませんが、 input event(oninput="qsearchLookup(this.value)"
の場合)を使用できます。この変化を捉えるために。
それでも誰かが解決策を探しているかどうかはわかりません。残念ながら、clear(X)iconで使用できるイベントハンドラーはありませんが、以下のコードスニペット/トリックは私のために機能しました。完全に非表示にするCSS clear(X)アイコンそして非表示にしたくない場合はclear(X)iconただし、処理する必要がある場合は、JSコードスニペットが役立ちます。IE 8、 9,10,11そしてそれはうまくいく
CSSトリック:
#textFieldId::-ms-clear {display: none;}
-特定のテキストフィールド用
または
input[type=text]::-ms-clear { display: none; }
-スコープ内のすべてのテキストフィールド
[〜#〜]または[〜#〜]
JavaScriptのトリック(テキストフィールドの値を空/空白にリセットし、htmlイベントKeyUpを起動します。したがって、必要に応じて変更できます)
$('#textFieldId').bind("mouseup", function() {
var $input = $(this);
var oldValue = $input.val();
if (oldValue == "") {
return;
}
setTimeout(function() {
var newValue = $input.val();
if (newValue == "") {
$input.trigger("keyup");
}
}, 1);
});
これは私にとってはかなりうまくいきました:)
$input.addEventListener('mouseup', function(){
setTimeout(function(){
if ($input.value === '') do_stuff();
}, 1)
});
$input
入力要素への参照です。