我有一个空的文本字段,但是当您单击它时,它会从以前的输入中得到一些建议。
如果我用鼠标选择其中一个,会触发哪个 JavaScript 事件?
我正在使用 jquery 1.6.2 来绑定监听器:
view.textRegistrations.bind("blur change keyup", function(event) {
//do Something
});
我有一个空的文本字段,但是当您单击它时,它会从以前的输入中得到一些建议。
如果我用鼠标选择其中一个,会触发哪个 JavaScript 事件?
我正在使用 jquery 1.6.2 来绑定监听器:
view.textRegistrations.bind("blur change keyup", function(event) {
//do Something
});
oninput 事件触发。
尝试:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>title</title>
</head>
<body>
<form method="get" id="" action="">
<input type="text" name="name" oninput="alert('oninput')"/>
<input type="submit" value="done"/>
</form>
</body>
</html>
oninput、onpropertychange、onchange 的区别:
onchange仅在以下情况下触发
a)用户界面改变的属性
b)元素失去焦点
onpropertychange在属性更改时触发。但它只是 IE
输入
oninput 是 onpropertychange 的 W3C 版本。IE9开始支持这个事件。
oninput 仅在元素值更改时触发。
所以如果你想在所有浏览器中保持紧凑
IE<9 使用 onpropertychange
IE>9等浏览器使用oninput
如果你使用 jQuery ,你可以绑定两个共享同一个处理程序的事件
$(function($) {
//the same handler
function oninput(e){
//do sth
}
$("#ipt").on("input", function(e){
console.log("trigger by oninput");
oninput(e);
})
$("#ipt").on("propertychange", function(e) {
console.log("trigger by propertychange");
oninput(e);
})
})
Visual Event 2是一个非常有用的工具,可以帮助您解决问题。基本上,对于屏幕上的任何元素,它都会告诉您该元素注册了哪些 Javascript 事件。
这是一个小书签,因此您只需将其拖到书签栏,导航到您感兴趣的页面,然后单击链接。快!有关当前注册的 Javascript 事件的详细信息。
正如@smerny 所说,很有可能甚至不是Javascript,而只是本机浏览器功能。话虽如此,您可能很容易实现自己的版本。