16

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="";
}

ここに画像の説明を入力

4

4 に答える 4

12

この小さな x のようなボタンの特別なイベントについては知りません。存在するとは思いませんが、入力イベント (oninput="qsearchLookup(this.value)"あなたの場合) を使用してこの変更をキャッチできます。

于 2013-04-06T01:36:53.323 に答える
8

それでも誰かが解決策を探しているかどうかはわかりません。残念ながら、clear(X) アイコンで使用できるイベント ハンドラーはありませんが、以下のコード スニペット/トリックが役に立ちました。クリア(X)アイコンを完全に非表示にするCSS。クリア(X)アイコン非表示にしたくないが処理する必要がある場合は、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);
    });
于 2016-10-10T13:25:13.173 に答える
-1
input.on('input propertychange',function(e){})

これは ie10 (input) と ie8 (propertychange) では機能しますが、ie9 では機能しません。

私は実際にマウスダウンイベントでie9のためにそれを修正しましたが、きれいではありませんが、それとマウスアップはそれで発生する唯一のイベントです

于 2015-07-10T13:44:12.053 に答える