posts - 22, comments - 17, trackbacks - 0, articles - 0
  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Input的特殊事件onpopertychange和oninput

Posted on 2007-11-13 12:39 flashlizi 阅读(7218) 评论(2)  编辑 收藏 引用 所属分类: AJAX
在很多情况下,我们需要监测输入框,比如自动提示等。我们熟知的一些input的按键事件并不能满足我们的需求,特别是在输入法开启的状态下,三个浏览器的具体问题如下:
  • IE:触发keydown和keyup,不触发keypress。能够获得输入值。
  • Firefox::触发keydown和keypress,不触发keyup。输入值未能获得。在回车后会触发keyup,可获得输入值。
  • Opera:keydown、keypress和keyup都不触发,输入值也未能获。

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

代码演示:

 1<input type="text" id="inpA" />
 2<input type="text" id="inpB" />
 3<script language="javascript" type="text/javascript">
 4//onpopertychange IE only;
 5$("inpA").onpropertychange=function(){
 6    change();
 7}

 8//oninput for FF/Opera/Safari/NetScape
 9$("inpA").oninput=function(){
10    change();
11}

12function change(){
13    $("inpB").value = $("inpA").value;
14}

15function $(id){
16    return document.getElementById(id);
17}

18</script>

Feedback

# re: Input的特殊事件onpopertychange和oninput  回复  更多评论   

2014-08-14 15:06 by fefe
fefefe

# re: Input的特殊事件onpopertychange和oninput  回复  更多评论   

2015-09-23 16:37 by 发发发发发发发发发发发发发发发发发发发发
事实上是事实是事实飒飒
只有注册用户登录后才能发表评论。