javascript开发中使用onpropertychange,oninput事件解决onchange事件的不足
2013-08-13 10:34
495 查看
onchange在用于文本框输入框时,有一个明显的不足. 事件不会随着文字的输入而触发,而是等到文本框失去焦点(onblur)时才会触发. 也就是没有即时性!
在IE下,可以用onpropertychange来代替onchange事件,当文本框有任何变化时,能立即触发此事件.
这样一来问题就解决了.
那其他浏览器呢,onpropertychange可是IE的专利. 接下来就是oninput事件了.
但是oninput有个诡异,必须用addEventListener的方式来绑定事件.否则无效.
在IE下,可以用onpropertychange来代替onchange事件,当文本框有任何变化时,能立即触发此事件.
这样一来问题就解决了.
那其他浏览器呢,onpropertychange可是IE的专利. 接下来就是oninput事件了.
但是oninput有个诡异,必须用addEventListener的方式来绑定事件.否则无效.
<!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>on用onpropertychange,oninput事件解决onchange事件的不足</title> <style type="text/css"> *{font-size:14px;font-family:'Comic Sans MS', Verdana} body {margin-left:20px} </style> </head> <body> <p>使用onchange事件: </p> <input type="text" id="txt1" /> <p>使用onpropertychange/oninput事件: </p> <input type="text" id="txt2" /> <p>结果:</p> <input type="text" id="txt" /> <script type="text/javascript"> var $ = function(o) { return document.getElementById(o) }; $('txt1').onchange = function() { $('txt').value = this.value; } $('txt2').onpropertychange = function() { $('txt').value = this.value; } if (window.addEventListener) { $('txt2').addEventListener('input', function() {$('txt').value = this.value}, false); } </script> </body> </html>(本文转载自脚本之家)
相关文章推荐
- javascript开发中使用onpropertychange,oninput事件解决onchange事件的不足
- javascript开发中使用onpropertychange,oninput事件解决onchange事件的不足
- javascript开发中使用onpropertychange,oninput事件解决onchange事件的不足
- javascript开发中使用onpropertychange,oninput事件解决onchange事件的不足
- on用onpropertychange,oninput事件解决onchange事件的不足
- JavaScript 使用HTML DOM的oninput事件,实时监听value值变化
- JavaScript document.all 用法(oninput、onpropertychange事件的使用)
- JavaScript 总结onchange、onpropertychange、oninput事件的用法和区别
- html input file onchange事件失灵的解决方法
- webStore 使用技巧 <<node 开发 代码提示 >> 任何解决编辑node代码 像编写JavaScript代码一样智能提示!
- android开发步步为营之65:解决ScrollView和ListView触摸事件onInterceptTouchEvent相互冲突问题
- onchange,onpropertychange,oninput的使用
- vue使用element-ui的el-input监听不了回车事件解决
- JavaScript中的onchange、oninput以及onpropertychange
- 解决IE下javascript:void(0)会触发window.onbeforeunload事件
- oninput,onpropertychange,onchange的使用方法和差别
- Opera浏览器在输入法开启情况下无法触发键盘事件的解决办法——oninput事件
- <input>与<textarea>元素的oninput和onchange事件
- input输入框file类型选择同样输入框第二次不触发onchange事件的解决办法
- oninput事件、onchange事件和onpropertychange事件