input 事件

1.Input的特殊事件onpopertychange和oninput:

在很多情况下,我们需要监测输入框,比如自动提示等。我们熟知的一些input的按键事件并不能满足我们的需求,特别是在输入法开启的状态下,三个浏览器的具体问题如下:
  • IE:触发keydown和keyup,不触发keypress。能够获得输入值。
  • Firefox::触发keydown和keypress,不触发keyup。输入值未能获得。在回车后会触发keyup,可获得输入值。
  • Opera:keydown、keypress和keyup都不触发,输入值也未能获。

幸好我们还有一些秘密武器onpopertychange和oninput。onpopertychange事件只在IE下才有效,oninput事件则支持FF/Opera/Safari/NetScape。这2个事件在输入开启状态下仍然可以捕获输入框的输入动作及其值。

<input type="text" id="inpA" />
<input type="text" id="inpB" />
<script language="javascript" type="text/javascript">
//onpopertychange IE only;
$("inpA").onpropertychange=function(){
    change();
}
//oninput for FF/Opera/Safari/NetScape
$("inpA").οninput=function(){
    change();
}
function change(){
    $("inpB").value = $("inpA").value;
}
function $(id){
    return document.getElementById(id);
}
</script>
2.js捕捉回车事件
window.event 仅仅支持ie;    window.event 只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用;      在其他浏览器中需要显式的将event对象当参数传进去才可以使用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>js捕捉回车事件</title>

<script type="text/javascript">
	function test(e){
	 e = e || event;//兼容ie,chrome,FF
		if (e.keyCode == 13)    {
        	alert("捕捉住回车提交事件!");
    	}
	}
</script>
</head>
<body>
<form method="post">
	标题:<input type="text" name="t" οnkeydοwn="test(event);"/>
</form>
</body>
</html>
3.keyCode对照表
字母和数字键的键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
A 65 J 74 S 83 1 49
B 66 K 75 T 84 2 50
C 67 L 76 U 85 3 51
D 68 M 77 V 86 4 52
E 69 N 78 W 87 5 53
F 70 O 79 X 88 6 54
G 71 P 80 Y 89 7 55
H 72 Q 81 Z 90 8 56
I 73 R 82 0 48 9 57

   

 

数字键盘上的键的键码值(keyCode) 功能键键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
0 96 8 104 F1 112 F7 118
1 97 9 105 F2 113 F8 119
2 98 * 106 F3 114 F9 120
3 99 + 107 F4 115 F10 121
4 100 Enter 108 F5 116 F11 122
5 101 - 109 F6 117 F12 123
6 102 . 110        
7 103 / 111        

   

 

控制键键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
BackSpace 8 Esc 27 Right Arrow 39 -_ 189
Tab 9 Spacebar 32 Dw Arrow 40 .> 190
Clear 12 Page Up 33 Insert 45 /? 191
Enter 13 Page Down 34 Delete 46 `~ 192
Shift 16 End 35 Num Lock 144 [{ 219
Control 17 Home 36 ;: 186 \| 220
Alt 18 Left Arrow 37 =+ 187 ]} 221
Cape Lock 20 Up Arrow 38 ,< 188 '" 222

 

多媒体键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
音量加 175            
音量减 174            
停止 179            
静音 173            
浏览器 172            
邮件 180            
搜索 170            
收藏

4.input text 的事件及方法
事件 描述
onactivate当对象设置为活动元素时触发。
onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即触发。
onbeforeeditfocus 在包含于可编辑元素内的对象进入用户界面激活状态前或可编辑容器变成控件选中区前触发。
onbeforepaste 在选中区从系统剪贴板粘贴到文档前在目标对象上触发。
onbeforeupdate 当成功更新数据源对象中的关联对象前在数据绑定对象上触发。
onblur 在对象失去输入焦点时触发。
onchange 当对象或选中区的内容改变时触发。
onclick 在用户用鼠标左键单击对象时触发。
oncontextmenu 在用户使用鼠标右键单击客户区打开上下文菜单时触发。
oncontrolselect 当用户将要对该对象制作一个控件选中区时触发。
oncut 当对象或选中区从文档中删除并添加到系统剪贴板上时在源元素上触发。
ondblclick 当用户双击对象时触发。
ondeactivate 当 activeElement 从当前对象变为父文档其它对象时触发。
ondrag 当进行拖曳操作时在源对象上持续触发。
ondragend 当用户在拖曳操作结束后释放鼠标时在源对象上触发。
ondragenter 当用户拖曳对象到一个合法拖曳目标时在目标元素上触发。
ondragleave 当用户在拖曳操作过程中将鼠标移出合法拖曳目标时在目标对象上触发。
ondragover 当用户拖曳对象划过合法拖曳目标时持续在目标元素上触发。
ondragstart 当用户开始拖曳文本选中区或选中对象时在源对象上触发。
ondrop 当鼠标按钮在拖曳操作过程中释放时在目标对象上触发。
onerrorupdate 更新数据源对象中的关联数据出错时在数据绑定对象上触发。
onfilterchange 当可视滤镜更改状态或完成转换时触发。
onfocus 当对象获得焦点时触发。
onfocusin 当元素将要被设置为焦点之前触发。
onfocusout 在移动焦点到其它元素之后立即触发于当前拥有焦点的元素上触发。
onhelp 当用户在浏览器为当前窗口时按 F1 键时触发。
onkeydown 当用户按下键盘按键时触发。
onkeypress 当用户按下字面键时触发。
onkeyup 当用户释放键盘按键时触发。
onlosecapture 当对象失去鼠标捕捉时触发。
onmousedown 当用户用任何鼠标按钮单击对象时触发。
onmouseenter 当用户将鼠标指针移动到对象内时触发。
onmouseleave 当用户将鼠标指针移出对象边界时触发。
onmousemove 当用户将鼠标划过对象时触发。
onmouseout 当用户将鼠标指针移出对象边界时触发。
onmouseover 当用户将鼠标指针移动到对象内时触发。
onmouseup 当用户在鼠标位于对象之上时释放鼠标按钮时触发。
onmousewheel 当鼠标滚轮按钮旋转时触发。
onmove 当对象移动时触发。
onmoveend 当对象停止移动时触发。
onmovestart 当对象开始移动时触发。
onpaste 当用户粘贴数据以便从系统剪贴板向文档传送数据时在目标对象上触发。
onpropertychange 当在对象上发生对象上发生属性更改时触发。
onreadystatechange 当对象状态变更时触发。
onresize 当对象的大小将要改变时触发。
onresizeend 当用户更改完控件选中区中对象的尺寸时触发。
onresizestart 当用户开始更改控件选中区中对象的尺寸时触发。
onselect 当当前选中区改变时触发。
onselectstart 对象将要被选中时触发。
ontimeerror 当特定时间错误发生时无条件触发,通常由将属性设置为无效值导致。
方法 描述
addBehavior 给元素附加一个行为。
appendChild 给对象追加一个子元素。
applyElement 使得元素成为其它元素的子元素或父元素。
attachEvent 将指定函数绑定到事件,以便每当该事件在对象上触发时都调用该函数。
blur 使元素失去焦点并触发 onblur 事件。
clearAttributes 从对象中删除全部标签属性和值。
click 触发 onclick 事件来模拟单击。
cloneNode 从文档层次中复制对对象的引用。
componentFromPoint 通过特定事件返回对象在指定坐标下的位置。
contains 检查对象中是否包含给定元素。
createTextRange 为元素创建一个 TextRange 对象。
detachEvent 从事件中取消指定函数的绑定,这样当事件触发时函数就不会收到通知了。
dragDrop 初始化拖曳事件。
fireEvent 触发对象的指定事件。
focus 使得元素得到焦点并执行由 onfocus 事件指定的代码。
getAdjacentText 返回邻接文本字符串。
getAttribute 获取指定标签属性的值。
getAttributeNode 获取由 attribute.name 属性引用的 attribute 对象。
getBoundingClientRect 获取指定 TextRectangle 对象集合绑定的对象。
getClientRects 获取描述对象内容或客户区内布局的矩形集合。每个矩形都描述了一条直线。
getExpression 获取给定属性的表达式。
hasChildNodes 返回表明对象是否有子对象的值。
insertAdjacentElement 在指定位置插入元素。
insertAdjacentHTML 在指定位置的元素中插入给定的 HTML 文本。
insertAdjacentText 在指定位置插入给定的文本。
insertBefore 在文档层次中插入元素。
mergeAttributes 复制所有读/写标签属性到指定元素。
normalize 合并邻接 TextNode 对象以便生成一个常规的文档对象模型。
releaseCapture 释放当前文档中对象的鼠标捕捉。
removeAttribute 删除对象的给定标签属性。
removeAttributeNode 从对象中删除删除 attribute 对象。
removeBehavior 分离元素的行为。
removeChild 从元素上删除子结点。
removeExpression 从指定属性中删除表达式。
removeNode 从文档层次中删除对象。
replaceAdjacentText 替换元素的邻接文本。
replaceChild 用新的子元素替换已有的子元素。
replaceNode 用其它元素替换对象。
scrollIntoView 将对象滚动到可见范围内,将其排列到窗口顶部或底部。
select 突出显示表单元素的输入区域。
setActive 设置对象为当前对象而不将对象置为焦点。
setAttribute 设置指定标签属性的值。
setAttributeNode 设置 attribute 对象为对象的一部分。
setCapture 设置属于当前文档的对象的鼠标捕捉。
setExpression 设置指定对象的表达式。
swapNode 交换文档层次中两个对象的位置。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值