我有一个空白的文本字段,但是当您点击它时,它会提供以前输入的一些建议。
如果我用鼠标选择其中一个,会触发哪个JavaScript事件?
我正在使用jquery 1.6.2绑定侦听器:
view.textRegistrations.bind("blur change keyup", function(event) {
//do Something
});
答案 0 :(得分:4)
触发了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 强>
oninput是onpropertychange的W3C版本。 IE9开始支持此事件。
oninput仅在元素值更改时触发。
所以,如果你想在所有浏览器中使用compacity
IE&lt; 9使用onpropertychange
IE&gt; 9和其他浏览器使用oninput
如果你使用jQuery,你可以绑定两个共享同一个hander的事件
$(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);
})
})
答案 1 :(得分:1)
Visual Event 2是一个非常有用的工具,可以帮助您解决问题。基本上,对于屏幕上的任何元素,它将告诉您该元素注册了哪些Javascript evenet。
这是一个书签,所以你要做的就是把它拖到你的书签栏,导航到你好奇的页面,然后点击然后链接。普雷斯托!有关当前注册的Javascript事件的详细信息。
正如@smerny所说,很有可能甚至不是Javascript,而且只是本机浏览器功能。话虽这么说,你可能很容易实现自己的版本。
答案 2 :(得分:0)