2013-04-06 1 views
10

Internet Explorerでは、テキストボックスに入力を開始すると、少しxのようなボタンが表示されます。このアイコンをクリックしたときのイベントの検出方法を教えてください。イベントタイプはありますか?IEでtexbox clear-eventを検出します。 IE固有のクリアボックスをクリックすると、IE(Internet Explorer)の入力タイプ= "テキスト"(テキストボックス)をクリアするにはどうすればよいですか?

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

enter image description here

+0

私は、このソリューションが本当に役に立った: http://stackoverflow.com/a/14498921/1895428 – pmrotule

+0

は答え – Andrew

答えて

7

私はこの小さなXのようなボタンのための特別なイベントを知らない、と私はそれが存在するとは思わないが、あなたは(あなたのケースでoninput="qsearchLookup(this.value)"inputイベントを使用することができますへこの変更をキャッチします。

+0

として、それを投稿し、私は画像を追加しました。イベントがキャッチしていないようです。 – Andrew

+3

IE10で動作します。この(x)ボタンはIE10にのみ存在すると思いました。私はIEにこのボタンやイベント用の特別なDOM要素があるとは思わないが、必要ならば特別なCSSで非表示にすることができる: ':: - ms-clear {display:none; } ' – outcoldman

-1
input.on('input propertychange',function(e){}) 

これはIE10(入力)とIE8(のPropertyChange)のために動作しますが、IE9

のために、私は実際にマウスダウンイベントではなく、かなりとIE9のためにそれを固定し、それとのmouseupがその唯一のイベントですありませんそれに火をつける

2

解決策を探している人はまだいますか。残念ながら、クリア(X)アイコンのイベントハンドラはありませんが、以下のコードスニペット/トリックが機能しました。 CSSあなたはクリア(X)アイコンを隠すが、その後のJSコードスニペットを処理する必要がしたくない場合はクリア(X)アイコンとを隠す完了するでしょうIE 8,9でhelp.Verified 、10,11およびそれが正常に

CSSのトリック作品:

#textFieldId::-ms-clear {display: none;}を - 特定のテキストフィールドについて

または

input[type=text]::-ms-clear { display: none; } - スコープ内のすべてのテキストフィールド(/空白を空にし、htmlのイベントからkeyupを発射するテキストフィールドの値をリセットするにはJavaScriptトリック

OR

。したがって、あなたはあなたの必要性ごとに変更することができます)

$('#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); 
    }); 
関連する問題