在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="";
}
答案 0 :(得分:8)
我不知道这个类似x的小按钮的特殊事件,我认为它不存在,但您可以使用input事件(在您的情况下为oninput="qsearchLookup(this.value)"
)来捕获这种变化。
答案 1 :(得分:3)
我不确定,是否有人正在寻找解决方案。很遗憾, clear(X)图标 没有可用的事件处理程序,但是下面的代码段/技巧对我有效。要完成的CSS会隐藏 清除(X)图标 ,如果您不想隐藏 清除(X)图标 < / strong>但需要处理然后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);
});
答案 2 :(得分:0)
这对我来说很好:)
$input.addEventListener('mouseup', function(){
setTimeout(function(){
if ($input.value === '') do_stuff();
}, 1)
});
$input
是对输入元素的引用。
答案 3 :(得分:-1)
input.on('input propertychange',function(e){})
这适用于ie10(输入)和ie8(属性更改)但不适用于ie9
我实际上使用mousedown事件为ie9修复了它,不是很漂亮,但那个和mouseup是唯一触发它的事件