Определить явное событие texbox в IE. Как очистить входной тип = "текст" (текстовое поле) в IE (Internet Explorer), когда нажата специальная ящик для IE?

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

enter image description here

Ответ 1

Я не знаю о специальном событии для этой маленькой x-подобной кнопки, и я не думаю, что она существует, но вы можете использовать input событие (oninput="qsearchLookup(this.value)" в вашем случае), чтобы поймать это изменение.

Ответ 2

Не уверен, если кто-то ищет решение. К сожалению, для значка clear (X) не существует обработчика событий, но ниже для фрагментов кода/трюков. CSS, чтобы скрыть значок clear (X), и если вы не хотите скрывать значок clear (X), но ему нужно обработать, то фрагмент кода JS поможет. Проверено в IE 8,9,10,11, и он отлично работает

Трюк CSS:

#textFieldId::-ms-clear {display: none;} - для конкретного текстового поля

или

input[type=text]::-ms-clear { display: none; } - для всех текстовых полей в области

ИЛИ

JavaScript-трюк (до reset значение текстового поля для пустого/пустого и загорать событие 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);
    });

Ответ 3

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

это работает для ie10 (вход) и ie8 (propertychange), но не для ie9

i фактически зафиксировал его для ie9 с событием mousedown, не красивым, но это и mouseup являются единственными событиями, которые срабатывают на нем