2013-04-06 14 views
10

Internet Explorer'da, metin kutusuna yazmaya başladığınızda biraz x benzeri bir düğme görüntülenir. Bu simge tıklandığında etkinliği nasıl algılayabilirim? Bir olay türü var mı?IE'de texbox clear olayını algıla. IE'ye özgü clear-box tıklandığında IE (Internet Explorer) giriş tipi = "text" (textbox) girişini nasıl temizlerim?

<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

) ihtiyaç başına değiştirebilirsiniz: http://stackoverflow.com/a/14498921/1895428 ben görüntü eklendi cevap – pmrotule

+0

; olay yakalanmıyor gibi görünüyor – Andrew

cevap

7

bu küçük x benzeri düğmesi için özel bir etkinlik hakkında bilmiyorum, ben var olduğunu sanmıyorum, ama (sizin durumunuzda oninput="qsearchLookup(this.value)") input olayını kullanabilirsiniz için Bu değişikliği yakala.

bu ancak IE10 (giriş) ve ie8 (PropertyChange) için çalışır
+0

olarak yayınlamayın – Andrew

+3

IE10'da çalışıyor ve bu (x) düğmesinin yalnızca IE10'da var olduğunu düşündüm. IE'nin bu düğme veya olay için özel DOM öğesi olduğunu düşünmüyorum, ancak isterseniz özel css ile gizleyebilirsiniz: ':: - ms-clear {display: none; } ' – outcoldman

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

değil IE9

için

i aslında mousedown olayı, güzel değil ile IE9 için düzelttim ama bu sadece olayları mouseup olduğunu yanıyor

2

Hala birisi bir çözüm arıyorsa, emin değilim. Ne yazık ki clear (X) simgesi için bir olay işleyicisi yoktur, ancak aşağıdaki kod snippet/püf noktaları benim için çalıştı. CSS net (X) simgesini gizlemek tamamlamak için ve net (X) simgesi gizlemek istiyorum ama IE 8,9 sonra JS kod parçacığı olur help.Verified işlemek gerek yoksa , 10,11 ve ince

CSS hile çalışır:

#textFieldId::-ms-clear {display: none;} - belirli metin alanı için

veya

input[type=text]::-ms-clear { display: none; } - kapsamındaki tüm metin alanları için (/ boş boşaltmak ve html olayı KeyUp yangın metin alanı değerini sıfırlamak için JavaScript hile

VEYA

. Buna göre ben bu çözüm gerçekten yararlı buldu

$('#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); 
    });