\t\t页面载入时,给所有控件赋事件 传递事件参数

10 篇文章 0 订阅
10 篇文章 0 订阅

思路一:

window.onload = function(){
var ss = document.getElementsByTagName('input');
for ( obj in ss){
   if (ss[obj].type=='text')
   {AttachEvent("blur", ss[obj], add, ss[obj]);}
}
}
function AttachEvent(type, target, handler, owner)
{
   var eventHandler = handler;
   if(owner){/*在这里重新定义一个处理函数*/eventHander = function(e){handler.call(owner, e);}}
   if(window.document.all)
    target.attachEvent("on" + type, eventHander );
   else
    target.addEventListener(type, eventHander, false);
}

function add(e){
var target = e.srcElement || e.target;
if(this.val){
var L=target.getAttribute('maxlength');
if(L)
{if(L==1){if(this.val.match('[\一-\龥]+')){this.select();alert('值js判断汉字');return false;}}
if(getByteLen(this.val)>L){this.select();alert('字段超长,要求'+L+'字节长度');return false;}
}
}
}
function getByteLen(str)   // JS 计算字符串的字节长度
{  
var l=str.length;  
var n=l;  
for(var i=0;i<l;i++)  
if(str.charCodeAt(i)<0||str.charCodeAt(i)>255)n++;  
return n  
}

描述
返回指定字符的 Unicode 编码。
语法
stringObj. charCodeAt( index )

charCodeAt 方法的语法组成如下:

部分描述
stringObj必选项。一个 String 对象或文字。
index 必选项。指定字符基于零的索引。

说明
如果在指定 index 处没有字符,则返回 NaN

下面的示例说明了 charCodeAt 方法的用法:

function charCodeAtTest(n){  var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";  var s;  s = str.charCodeAt(n - 1);  // 返回 Unicode 字符编码。  return(s);}

思路二:

function set(obj)
{
        //obj.attachEvent('onblur', add); //在原先事件上添加
        //obj.setAttribute('onblur',add); //会替代原有事件方法
        //obj.οnfοcus=add;                //等效obj.setAttribute('onfocus',add);       

        if(window.addEventListener)
        {
            //其它浏览器的事件代码: Mozilla, Netscape, Firefox
            //添加的事件的顺序即执行顺序 //注意用 addEventListener 添加带on的事件,不用加on
            obj.addEventListener('blur', add, false);
        }
        else
        {
            //IE 的事件代码 在原先事件上添加 add 方法
            obj.attachEvent('onblur',add);      
        }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值