在IE中检测texbox clear-event.当单击特定于IE的清除框时,如何清除IE(Internet Explorer)中的输入类型="文本"(文本框)?

And*_*rew 13 javascript textbox clear

在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="";
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

out*_*man 10

我不知道这个小的类x按钮的特殊事件,我不认为它存在,但你可以使用输入事件(oninput="qsearchLookup(this.value)"在你的情况下)来捕获这个变化.

  • 它适用于IE10,我认为这个(x)按钮仅存在于IE10中.我不认为IE有这个按钮或事件的特殊DOM元素,但是如果你想要你可以用特殊的css隐藏它:`:: - ms-clear {display:none; }` (3认同)

Sun*_*Das 5

不确定是否仍然有人在寻找解决方案。不幸的是,没有可用于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技巧(将文本字段值重置为空/空白并触发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);
    });
Run Code Online (Sandbox Code Playgroud)