`

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

 
阅读更多
<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>
分享到:
评论

相关推荐

    DHTML网页制作完全手册

    AutoCompleteSaveForm 将指定表单保存到自动完成数据存储中。 AutoScan 通过完成模板传递指定查询试图连接到 Web 服务器。 back 从历史列表中装入前一个 URL。 blur 使元素失去焦点并触发 onblur 事件。 ...

    详解HTML5表单新增属性

    在H5中可以把form放到页面的任何地方,然后为该元素指定一个form属性,属性值为该表单的id,这样就可以声明该元素从属于指定表单了 &lt;form id=testform&gt; &lt;input type=text&gt; &lt;/form&gt; &lt;textarea...

    jQuery详细教程

    $(selector).mouseover(function) 触发或将函数绑定到被选元素的鼠标悬停事件 四. jQuery实例 jQuery hide() 演示简单的 jQuery hide() 函数。 &lt;script type="text/javascript" src="/jquery/jquery.js"&gt;&lt;/...

    Web前端与移动开发之复合选择器 css元素显示模式 背景属性.txt

    注意: 表单元素最常用的是input 在input框选中时显示的样式 2.css的元素显示模式 html元素一般分为块元素和行内元素 (1)块级元素 div p h1-h6 ul ol li ①独占一行 ②宽度 高度 外边距 内边距都可控制 ③...

    第五课 元素属性与效果1

    1.获取或者设置元素的属性值 2.从元素上删除属性 3.获取或者设置表单元素的属性值 1.给元素添加指定的 class 类名 2.删除元素的全部或者指定的 cl

    ckeditor-extra-form-attributes:添加额外的表单属性(id 和 class 到 CKEditor 表单上)

    功能概述向以下表单元素/对话框添加类和 ID 属性:文本字段、选择、按钮、文本区域、单选和复选框将 class 属性添加到以下元素:form要求CKEditor 4.4.7 或更高版本 CKEditor 的 Forms 插件(通常默认安装)安装说明...

    HTML5与CSS3基础教程(第8版)高清文字

    3.15 为元素添加title属性 61 3.16 添加注释 62 第4章 文本 63 4.1 添加段落 63 4.2 指定细则 64 4.3 标记重要和强调的文本 65 4.4 创建图 67 4.5 指明引用或参考 69 4.6 引述文本 70 ...

    HTML5&CSS3网页制作:select元素.pptx

    和标记用于在表单中添加一个下拉菜单 和用于定义下拉菜单中的具体选项 每对和中至少应包含一对和。 说明 标记名 常用属性 描述 size 指定下拉菜单的可见选项数(取值为正整数)。 multiple 定义multiple="multiple...

    jquery.popupForm:jQuery Popup Form 接受一个常规的 html 表单元素,将其转换为一个弹出窗口,并将该表单作为 AJAX 请求提交。 以编程方式打开它,或将其分配给现有链接或按钮。 它适用于所有主要浏览器(包括移动设备)。 您最多可以指定三个步骤以更轻松地完成。 轻松将其与外部表单验证插件集成

    jQuery Popup Form 接受一个常规的 html 表单元素,将其转换为一个弹出窗口,并将该表单作为 AJAX 请求提交。 以编程方式打开它,或将其分配给现有链接或按钮。 它适用于所有主要浏览器(包括移动设备)。 您最多...

    超实用的jQuery代码段

    3.14 如何为动态添加的元素绑定事件处理函数 3.15 为表格行增加单击事件 3.16 用回车键模拟Tab键 第4章 jQuery操作CSS样式 4.1 使用addClass()函数动态添加样式类 4.2 使用removeClass()函数动态移除样式类 4.3...

    Jqury基础教程

    2.6.1 为特定单元格添加样式 2.6.2 连缀 2.7 访问DOM元素 2.8 小结 第3章 事件 3.1 在页面加载后执行任务 3.1.1 代码执行的时机选择 3.1.2 基于一个页面执行多个脚本 3.1.3 缩短代码的简写方式 3.1.4 与...

    HTML开发王

    10.8 为表单添加结构(fieldset元素和legend元素) 10.9 将焦点移到某个元素上 10.9.1 使用【tab】键导航 10.9.2 使用热键导航 10.10 设置禁用控件和设置只读控件 10.10.1 设置禁止控件 10.10.2 设置只读控件 10.11 ...

    jQuery EasyUI 1.4 离线简体中文API文档

    jQuery EasyUI 1 4版本更新内容: Bug(修复) menu:修复在删除一个菜单项的时候该菜单无法正确自适应高度的问题; datagrid:修复在datagrid...filebox:filebox 该组件表单元素中用于上传文件的文件框工具组件

    jQuery核心语法

    jQuery核心语法 1、关于页面元素的引用 通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom... //为id为msg的元素单击事件添加函数 同样blur,focus,select,submit事件都可以有着两种调用方法

    javascript完全学习手册2 源码

    4.2.3 表单元素属性和事件 4.2.4 表单验证 4.3 Anchor与Link对象 4.3.1 Anchor对象 4.3.2 Link对象 4.4 Image对象 4.4.1 图像翻转 4.4.2 图像载入 第5章 JavaScnpt其他常用窗口对象 5.1 Window对象 ...

    preserveJS:一个蹩脚的表单值保存脚本

    这有助于在选项卡关闭/页面重新加载时不会丢失表单值。 如果你需要一些超级稳定的东西——写你自己的。 用法 您所要做的就是在您的 html 文件中添加脚本: [removed][removed] 然后将“保留”属性添加到任何 ...

    Windows 系统错误代码简单分析

     0151 DosMuxSemWait 的指定信号事件的数目不正确。  0152 DosMuxSemWait 没有运行;已经设置太多的标志。  0153 DosMuxSemWait 列表不正确。  0154 输入的卷标超过目标文件系统的标号字符长度极限。  ...

    PHP开发实战1200例源码

    3.4 表单元素的动态操作 203 实例170 投票系统中单选按钮与复选框的应用 203 实例171 选中单选按钮后显示其他表单元素 205 实例172 不提交表单获取单选按钮的值 207 实例173 实现复选框中的全选、反选和不选 208 ...

Global site tag (gtag.js) - Google Analytics