JavaScript —— attachEvent 方法的使用

动态地给一个对象添加事件(方法)。

直接上代码:

 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格式
原文地址:https://www.cnblogs.com/memory4young/p/javascript-attachevent.html