首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

替指定的表单元素动态添加事件

2012-11-22 
为指定的表单元素动态添加事件htmlheadtitle/title scriptfunction init(){var _obj document

为指定的表单元素动态添加事件

<html><head><title></title> <script>     function init(){        var _obj = document.getElementById("ck"); var d=document.getElementById("myDate");         var args=[_obj,d];// _obj.onclick=function(){bb(_obj,d)} 覆盖之前的onclick函数 Pen.util.addEvent(_obj,"onclick",bb,args); //不会覆盖之前的onclick函数 }function bb(){ if(arguments.length!=2) throw new Error("参数不正确!");  var obj=arguments[0];  var dat=arguments[1];            var date=new Date();  var month=date.getMonth()+1;  var day=date.getDate();  if(month<10){month='0'+month;  }  if(day<10){day='0'+day;  }  var d=date.getFullYear()+"-"+month+"-"+day;         if(obj.checked){        dat.value=d;    }else{         dat.value="";   }   } function aa(){  alert()  }    var Pen={};Pen.util={/** * 功能:为指定的表单元素动态添加事件 *@param obj 要为其添加事件的元素对象 *@param eventName 事件名称 *@param eventFunction 事件要执行的函数 *@param args 为函数传递的参数数组(多个参数都要放在args数组里面)*/addEvent:function(obj,eventName,eventFunction,args){                 if(window.addEventListener) //firefox浏览器{    obj .addEventListener(eventName,function(){ exeFunc(eventFunction,args)}, false);    } else //IE浏览器{      obj.attachEvent(eventName,function(){ exeFunc(eventFunction,args)});    }      }};   var  exeFunc=function(eventFunction,args){    if(args==undefined || args.length==0)  eventFunction();else if(args.length==1) eventFunction(args[0]);else if(args.length==2) eventFunction(args[0],args[1]);else if(args.length==3) eventFunction(args[0],args[1],args[2]);else if(args.length==4) eventFunction(args[0],args[1],args[2],args[3]);else if(args.length==5) eventFunction(args[0],args[1],args[2],args[3],args[4]);else if(args.length==6) eventFunction(args[0],args[1],args[2],args[3],args[4],args[5]);else if(args.length==7) eventFunction(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);else if(args.length==8) eventFunction(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7]);else throw new Error("参数越界错误");} </script></head><body onload="init()">  <input type="checkbox" id="ck" onclick="aa()">&nbsp; <input type="text" id="myDate"></body></html>

热点排行