您的位置:首页 > 其它

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

2013-06-09 15:30 357 查看
思路一:
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.onfocus=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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐