javaScript事件类型四(键盘与文本事件)
2016-07-17 17:45
344 查看
文本和键盘事件也是我们平常用的比较少的,在用户输入键盘的时候会触发键盘事件,回车的时候有可能会触发键盘和submit的文本事件;
keypress:当用户按下键盘上的字符键时触发,而且如果按住不放的话,会重复触发此事件。按下Esc键也会触发这个事件
keyup:当用户释放键盘上的键时会触发。
文本事件:文本事件只有一个textInput。这个事件是对keypress的补充,用意是在将文本显示给用户之前更容易拦截文本。在文本插入文本框之前会触发textInput事件。
<body>
<div id="myDiv">
请输入<input type="text"></input>
</div>
</body>
在用户按了一下键盘上的字符键时,首先会触发keydown事件,然后紧跟着是keypress事件,接着输入完成之后会触发textInput文本事件,当我们松开的时候会触发keyup事件;
var div=document.getElementById("myDiv");
EventUtil.addHandler(div,"keydown",function(event){
event=EventUtil.getEvent(event);
alert("按下键盘"+event.keyCode);
});
String.fromCharCode:可以方法可以返回我们键盘事件所发生的值
var div=document.getElementById("myDiv");
EventUtil.addHandler(div,"keydown",function(event){
event=EventUtil.getEvent(event);
alert("按下键盘"+String.fromCharCode(event.keyCode));
});
0:表示浏览器不确定是怎么输入的
1:表示使用键盘输入的
2:表示文本是粘贴进来的
3:表示文本是拖放进来的
4:表示文本是使用IME输入的
5:表示文本是通过在表单中选择一项输入的
6:表示文本是通过手写输入的
7:表示文本是通过语音输入的
8:表示文本是通过几种方法组合输入的
9:表示文本是通过脚本输入的
键盘事件
键盘事件类型
keydown:在用户按下键盘上的任意键时触发,而且如果按住不放的话,会重复触发此事件。keypress:当用户按下键盘上的字符键时触发,而且如果按住不放的话,会重复触发此事件。按下Esc键也会触发这个事件
keyup:当用户释放键盘上的键时会触发。
文本事件:文本事件只有一个textInput。这个事件是对keypress的补充,用意是在将文本显示给用户之前更容易拦截文本。在文本插入文本框之前会触发textInput事件。
<body>
<div id="myDiv">
请输入<input type="text"></input>
</div>
</body>
var div=document.getElementById("myDiv"); EventUtil.addHandler(div,"keydown",function(event){ event=EventUtil.getEvent(event); alert("触发按下键盘事件"); }); var div=document.getElementById("myDiv"); EventUtil.addHandler(div,"keypress",function(event){ event=EventUtil.getEvent(event); alert("触发按下键盘字符事件"); }); var div=document.getElementById("myDiv"); EventUtil.addHandler(div,"textInput",function(event){ event=EventUtil.getEvent(event); alert("触发文本事件"); }); var div=document.getElementById("myDiv"); EventUtil.addHandler(div,"keyup",function(event){ event=EventUtil.getEvent(event); alert("触发释放键盘事件"); });
在用户按了一下键盘上的字符键时,首先会触发keydown事件,然后紧跟着是keypress事件,接着输入完成之后会触发textInput文本事件,当我们松开的时候会触发keyup事件;
键码
在发生keydown和keyup事件时,event对象的keyCode会包含一个代码,与键盘上一个特定的键对应,有的是数字,有的是对应的ASCII码值;var div=document.getElementById("myDiv");
EventUtil.addHandler(div,"keydown",function(event){
event=EventUtil.getEvent(event);
alert("按下键盘"+event.keyCode);
});
字符编码:
我们可以用charCode获取按下键盘的字符类型;String.fromCharCode:可以方法可以返回我们键盘事件所发生的值
var div=document.getElementById("myDiv");
EventUtil.addHandler(div,"keydown",function(event){
event=EventUtil.getEvent(event);
alert("按下键盘"+String.fromCharCode(event.keyCode));
});
inputMethod
在文本事件中有一个属性叫做inputMethod,表示把文本输入到文本框中的方式;0:表示浏览器不确定是怎么输入的
1:表示使用键盘输入的
2:表示文本是粘贴进来的
3:表示文本是拖放进来的
4:表示文本是使用IME输入的
5:表示文本是通过在表单中选择一项输入的
6:表示文本是通过手写输入的
7:表示文本是通过语音输入的
8:表示文本是通过几种方法组合输入的
9:表示文本是通过脚本输入的
复合事件:
复合事件是指输入在键盘上找不到的字符时所发生的事件,例如有些字符需要二个键,或者多个键的时候,就会触发复合事件;变动事件:
变动事件是DOM中某一部分发生变动的时候会触发该事件,例如插入节点,删除节点等;相关文章推荐
- JavaScript arguments对象
- JavaScript数组之概论
- Javascript面向对象编程(三):非构造函数的继承
- Javascript面向对象编程(二):构造函数的继承
- Javascript 面向对象编程(一):封装
- Js中诡异的Array.length
- jsp-servlet监听器
- javascript变量
- js学习笔记:命名空间
- JS学习笔记:变量提升
- JavaScript:正则表达式初体验
- js无法对远程图片进行Base64转码
- Js random随机生成正整数
- jsp-servelt的乱码问题解决
- javascript-BOM
- 初始JavaScript
- javascript正则表达式 —— RegExp 对象
- javascript基础DOM操作
- sort();方法
- 谈谈Js回调函数的那些事儿