onchange 和 onkeyup,onpropertychange 用法小记

来源:互联网 发布:seo怎么建站 编辑:程序博客网 时间:2024/06/08 03:06

http://www.cnblogs.com/same/archive/2008/08/21/1273471.html


这是个细节问题,没有任何技术含量,但往往要浪费一些程序员的时间去查找合适的事件

在web的代码编写中,比如你要实时对当前用户在文本框的输入进行处理以达到实现数据的有效性时,你需要对文本框进行实时监控,有些人习惯使用onkeyup,onkeypress,onkeydown事件,开始时好像行,但往往会发现存在局限性,比如你的文本框限制用户只能输入数字,但用户在旁边选择页面上已有文字 "电话号码" 然后用鼠标拖放到文本框,这时你会发现文本框接受了中文字,有些程序员会用onchange

在OnChange里的代码需要在修改域值之后焦点离开才运行.也就是写在ONCHANGE事件中的代码在域值发生变化后没反应.在表单保存或鼠标离开点击空白处时,才会有反应.也是个麻烦的问题,
解决问题比较理想的是onpropertychange,在一些文本编辑器下是没有提示的,不过要注意的是目前我测试的环境是在IE下可以
最后大家可以去试一下onkeydown,onkeyup,onchange,onpropertychange事件发生时取到的文本框的值是什么(是改变前还是改变后)还有实时对于select 的onchange的用法(提示:调用document.all.sel.options[index].selected事件会触发)

我测了一下IE8,FIREFOX26,国产猎豹4.5都可以用onpropertychange

0 0
原创粉丝点击