2011 / 11 / 9 JS 코드 수기

3279 단어 js

    메모: FF 와 Chrome 은 createElement ('button') 를 지원 하지 않 습 니 다.  그래서 input 으로 바 꾸 고 type 을 설정 해 야 하 는데...
 
   eval ('btn'). value 는 getElement ById ('btn'). value (그러나 이것 은 w3c 표준 에 부합 되 지 않 음) IE9 FF7 Chrome 14 와 같다.
 
<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>

좋은 웹페이지 즐겨찾기