DOM3中引入了文本事件,其中之一 textInput 。
当用户再可编辑区域输入字符时触发该事件。
与keypress不同的是,该事件只会在用户输入可视字符时触发,而keypres事件则只要按下键即触发(如CapsLock,Backspace)。
可看到textInput考虑的主要是字符,可以通过事件对象的data属性获取所输入字符。softbar
示例
01
<!DOCTYPE HTML>
02
<html>
03
<head>
04
<title>DOM3 event textInput</title>
05
</head>
06
<body>
07
08
<input id="ipt" type="text" />
09
<script type="text/javascript">
10
function addEvent(el,type,fn){
11
if(el.addEventListener){
12
el.addEventListener(type, fn, false);
13
}else{
14
el.attachEvent('on' + type, fn);
15
}
16
}
17
var ipt = document.getElementById('ipt');
18
addEvent(ipt,'textInput',function(e){
19
e = e || window.event;
20
console.log(e.data);
21
});
22
</script>
23
24
</body>
25
</html>
目前只有IE9,Chrome,Safari支持。