1. //以下以失焦时,去掉文本框对应值的前后空格为例;此外存在局部刷新元素也适应,局部刷新后再调用此方法即可。 
2. var funMap = {};//记录页面变动之前的所有元素原始onblur方法 
3. var tmpMap = null;//以元素name为key存储onblur方法,存在当前页面原始onblur方法; 
4. function bindOnblurEvent(){//绑定对象类型input(type=text) texttarea 
5.     var elements = document.getElementsByTagName('form')[0]; 
6.     tmpMap = {}; 
7.     if(elements != null){ 
8.         for ( var i = 0; i < elements.length; i++) { 
9.             if(elements[i].type == "text" || elements[i].type == "textarea"){ 
10.                  
11.                 //若有原始onblur,则存入funArr,并放入temMap; 
12.                 if(elements[i].onblur != null){ 
13.                     var tmp = (elements[i].onblur+"").replace(/(\n)+|(\r\n)+/g, ""); 
14.                     var oldFun = funMap[elements[i].name];//通过name获取原始的onblur方法 
15.                     var newFun = tmp.substring(tmp.indexOf("{")+1,tmp.indexOf("}")); 
16.                     //防止原始onblur方法被覆盖 
17.                     var addFun = typeof oldFun!="undefined" ? oldFun:newFun; 
18.                     //当第二次触发bindOnblurEvent()时,当前onblur方法为addOnblurFun()时,不保存(原始onblur为空) 
19.                     if(!(String().replace(/(\n)+|(\r\n)+/g, "").indexOf(addFun) > 0)){ 
20.                         tmpMap[elements[i].name] = addFun; 
21.                     } 
22.                 } 
23.                 //给onblur绑定新的方法 
24.                 elements[i].onblur = addOnblurFun
25.             } 
26.         }         
27.         funMap = tmpMap
28.     } 
29.
30.  
31. function addOnblurFun(){ 
32.     //input texttarea 所输入的字符串去掉前后空格 
33.     this.value = this.place(/(^\s*)|(\s*$)/g, ""); 
34.      
35.     //调用原始的onblur方法 
36.     //根据当前元素在form表单的位置,从funArr获取原始的onblur方法并调用 
37.     var funonblur和blur的区别 = tmpMap[this.name]; 
38.     if(typeof fun != "undefined"){ 
39.         //alert("fun = "+fun); 
40.         eval(fun); 
41.     } 
42.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。