动态地给一个对象添加事件(方法)。
直接上代码:
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gbk"> 5 <title>AttachEvent 的使用</title> 6 7 <script type="text/javascript"> 8 var defaultValue = "Say Something!!"; 9 10 function init() { 11 var iWordObj = document.getElementById("iWord"); 12 13 iWordObj.attachEvent("onfocus", function(e){clean(iWordObj);}); 14 iWordObj.attachEvent("onblur", function(e) {setDefault(iWordObj);}); 15 16 /* 网上说 Firefox 用这个,我试了下,咋没用呢? 17 iWordObj.addEventListener("onfocus", function(e){clean(iWordObj);}, false); 18 iWordObj.addEventListener("onblur", function(e) {setDefault(iWordObj);}, false) 19 */ 20 } 21 22 function clean(obj) { 23 // 如果新值等于默认值,清空 24 if (defaultValue == obj.value) { 25 obj.value=""; 26 } 27 } 28 29 function setDefault(obj) { 30 /* 31 * 如果输入的为空(""),则将值重新设为默认值(defaultValue) 32 * 否则,弹出输入的内容 33 */ 34 if (obj.value == "") { 35 obj.value = defaultValue; 36 alert("Oh, you said nothing."); 37 } else { 38 alert("You said: " + obj.value); 39 } 40 } 41 </script> 42 </head> 43 <body onload="init()"> 44 Say Something: 45 <input type="text" id="iWord" value="Say Something!!"/> 46 </body> 47 </html>
P.S. 有添加就有移除
1 detachEvent(event,function); // IE 2 3 removeEventListener(event,function,capture/bubble); // Firefox ,又叫 W3C格式