您的位置:首页 > Web前端 > JavaScript

javaScript事件类型四(键盘与文本事件)

2016-07-17 17:45 344 查看
文本和键盘事件也是我们平常用的比较少的,在用户输入键盘的时候会触发键盘事件,回车的时候有可能会触发键盘和submit的文本事件;

键盘事件

键盘事件类型

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中某一部分发生变动的时候会触发该事件,例如插入节点,删除节点等;

                                                                                                                                               
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: