Reputation: 7768
In Internet Explorer, there is a little x-like button is shown, when you start typing in the textbox. How do I detect the event when this icon is clicked on? Is there an event-type?
<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="";
}
Upvotes: 16
Views: 18672
Reputation: 10442
This worked pretty well for me :)
$input.addEventListener('mouseup', function(){
setTimeout(function(){
if ($input.value === '') do_stuff();
}, 1)
});
$input
being a reference to the input element.
Upvotes: 0
Reputation: 111
Am not sure, if still someone is looking for a solution. Unfortunately there is no event handler available for the clear(X) icon, however below code snippet/tricks worked for me. CSS to complete hide the clear(X) icon and if you don't want to hide the clear(X) icon but need to handle then JS code snippet would help.Verified in IE 8,9,10,11 and it works fine
CSS trick:
#textFieldId::-ms-clear {display: none;}
-- For a particular text field
or
input[type=text]::-ms-clear { display: none; }
-- for all text fields in scope
OR
JavaScript trick (to reset the text field value to empty/blank and fire the html event KeyUp. Accordingly you can change per your need)
$('#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);
});
Upvotes: 8
Reputation: 1
input.on('input propertychange',function(e){})
this works for ie10 (input) and ie8 (propertychange) but not for ie9
i actually fixed it for ie9 with the mousedown event, not pretty ,but that and mouseup are the only events that fire on it
Upvotes: -1
Reputation: 11832
I do not know about special event for this small x-like button, and I don't think that it exists, but you can use input event (oninput="qsearchLookup(this.value)"
in your case) to catch this change.
Upvotes: 13