`

2011/11/9 JS代码小记

 
阅读更多

 

    注意:FF和Chrome不支持createElement('button')   所以要改成input 然后设置type..

 

   eval('btn').value 等价于getElementById('btn').value (不过这不符合w3c标准) IE9 FF7 Chrome14

 

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
		<script language='javascript'>
			
			//一个对象
			function Student(name,age){
				//alert(arguments.length)
				this.name=name;
				this.age=age;
				this.sayHello=function(){
					alert(this.name+': i am '+this.age);
				}
			}
			
			//xiaoming
			_s1=new Student('小明',12);
		
			//此为继承关系
			document.write("s1 instanceof Student :"+(_s1 instanceof Student)+"<br>");
			//构造
			document.write("s1 constructor :"+(_s1.constructor)+"<br>");
			//遍历属性
			for(var tribute in _s1){
				document.write('_s1============  '+tribute+":"+_s1[tribute]+"<br>")
			};
				
			
			function onLoad(){
				
				var my = document.getElementById("myDiv");  
				var btn = document.createElement("input");  
				btn.type='button';
				btn.value='Hello';  
				
				alert(btn);
				//appendChild方法:  
				my.appendChild(btn);  
				
							
			}


			//事件工具 兼容IE(attachEvent)
			var EventUtil = {
				//添加事件
				addHandler: function (oElement, sEvent, fnHandler) {
					//alert(oElement);
					oElement.addEventListener ? oElement.addEventListener(sEvent, fnHandler, false) : oElement.attachEvent("on" + sEvent, fnHandler)	
				},
				//移除事件
				removeHandler: function (oElement, sEvent, fnHandler) {
					oElement.removeEventListener ? oElement.removeEventListener(sEvent, fnHandler, false) : oElement.detachEvent("on" + sEvent, fnHandler)
				},
				//load事件
				addLoadHandler: function (fnHandler) {
					this.addHandler(window, "load", fnHandler)
				}
			};
			
			
			//初始化load
			EventUtil.addLoadHandler(function () {
				var aBtn = document.getElementsByTagName("input");
				
				//为第一个按钮添加绑定事件
				EventUtil.addHandler(aBtn[0], "click", function () {
					//Hello
					alert(aBtn[1].value);	
					
					aBtn[0].value = "我可以点击了";
					//sayHello()
					_s1.sayHello();
					//EventUtil.addHandler(aBtn[0], "click",_s1.sayHello());
				});
				
				
				//事件处理函数
				function fnHandler ()
				{
					alert("事件绑定成功!")	
				}	
			})

			
		</script>
	</head>

	<body onLoad="onLoad()">
		
		<input type='button' value='我现在没什么用' id='btn'>
		
		<div id="myDiv">
			
		</div>

		
	</body>
</html>
分享到:
评论

相关推荐

    d3js 学习小记

    ### D3.js 学习小记 #### SVG基础与D3.js绘图实践 ##### SVG基础 SVG(可缩放矢量图形)是一种基于XML的矢量图像格式,用于描述二维图形以及图形应用。SVG 图像可以被放大、缩小而不会失真,非常适合于网页制作。...

    一个动态web爬虫_python_JavaScript_代码_下载

    代码基于phantomjs爬虫小记 by wils0n ,在tuicool上也有这篇文章http://www.tuicool.com/articles/JbEfIvV , 原作者的代码在Github上也有crawler_phantomjs 后来看到浅谈动态爬虫与去重这篇文章,受益匪浅,其...

    formValidator使用小记

    《formValidator使用小记》 在网页开发中,表单验证是不可或缺的一部分,它能确保用户输入的数据符合我们的预期,防止无效数据的提交,提高用户体验并保护服务器安全。本文将详细探讨一个常用的JavaScript表单验证...

    vue-cli设置publicPath小记

    &lt;script src=/js/chunk-vendors.e7ac9ff2.js&gt;&lt;/script&gt; ``` 这意味着,无论是css还是js文件,请求路径都会是`***`这样的形式。 二、设置publicPath为'/' 当publicPath设置为'/'时,与不设置publicPath效果相同,...

    python进行爬虫小记

    Python在爬虫领域具有显著优势,因为其拥有丰富的第三方库,如requests、lxml和parsel等,使得编写爬虫代码变得简洁高效。此外,Python标准库中的os和time等也对爬虫开发提供了便利。 首先,进行爬虫开发时,我们...

    J2EE开发之常用开源项目小记

    这篇小记主要关注了几个关键领域:持久层、MVC框架、视图层、JavaScript库以及缓存技术。下面将详细阐述这些知识点。 1. **持久层**: - **Hibernate**:是一个流行的ORM(对象关系映射)框架,允许开发者以面向...

    js正则学习小记之匹配字符串字面量

    关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配。(因为我想学完之后写个语法高亮练手,所以用js代码当作例子) var str1 = "我是字符串1哦,快把我取走", str2 = "我是字符串2哦,快把我取走"; ...

    javascript语言结构小记(一)

    本篇小记将详细地介绍JavaScript语言中的几个关键结构特性,包括对Unicode字符集的支持、变量声明与初始化、以及类型运算符和算术运算符的使用。 首先,关于JavaScript支持Unicode字符集,这一点意味着在JavaScript...

    Jquery AutoComplete组件+Ajax实现搜索框输入提示功能小记

    -- JavaScript代码 --&gt; $(document).ready(function() { $('#Input').keyup(function() { var query = $(this).val(); if (query.length &gt; 0) { $.ajax({ url: "process.php", // 处理请求的后端脚本 type: ...

    树形菜单DTree使用小记

    1. **IDE**:使用集成开发环境如Visual Studio Code或WebStorm,便于代码编写、调试和版本控制。 2. **浏览器开发者工具**:检查元素、修改样式、查看网络请求,有助于理解和调试DTree的运行过程。 3. **版本管理**...

    Python django Extjs 项目开发中的错误小记

    - 当使用Ext.js与后端进行交互时,可能会遇到在某些条件下,数据在返回之前未被正确定义。例如,使用$.ajax()传数据时,如果没有正确处理返回值,可能导致变量未赋值就使用,从而出现UnboundLocalError错误。 - ...

    谷歌Chrome浏览器扩展程序开发小记

    谷歌Chrome浏览器扩展程序开发小记 本文主要介绍了谷歌Chrome浏览器扩展程序的开发过程,作者根据公司的规定,每月八小时,弹性工作制,需要计算工作时间,但是公司的考勤日历不太便捷,于是作者决定自己写一个...

    js substr、substring和slice使用说明小记

    在JavaScript中,字符串操作是非常常见且重要的操作之一。其中,substr、substring和slice这三个方法都可以用来截取字符串中的某一部分,但它们之间存在着一些重要的区别。本文将详细探讨这三个方法的用法和它们之间...

    Jquery中dialog属性小记

    6. 当需要让对话框可以被拖动或改变大小时,必须引入ui.draggable.js和ui.resizable.js插件。 以上知识包含了JQuery dialog组件在创建对话框时可使用的主要属性和参数、事件处理、页面内容加载、动态添加按钮、必要...

    account-app:react的小记账本

    【React小记账本项目概览】 "account-app:react的小记账本"是一个基于React技术栈构建的简单记账应用。React是由Facebook推出的用于构建用户界面的JavaScript库,以其组件化开发、虚拟DOM和高效的更新性能而广受...

Global site tag (gtag.js) - Google Analytics