posts - 495,comments - 227,trackbacks - 0
          <!doctype html public"-//w3c//dtd html 4.0 transitional//en">
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
          <title>new document </title>
          </head>

          <script type="text/javascript">
          window.$
          = function(id) {
          if(typeof id =='string') {
          return document.getElementById(id);
          }
          return id;
          }

          /**
          * 事件處理工具類
          */
          var Event
          = {}

          Event
          = {

          /**
          * 為 element 使用 handler 處理程序添加至 event 事件
          * 兼容 IE 及 Firefox 等瀏覽器
          *
          * 例如為 botton 對象添加 onclick 事件,使用 clickEvent
          * 方法作為處理程序:
          * Event.addEvent(botton, 'click', clickEvent);
          *
          *
          @param element 需要添加事件的對象(Object)
          *
          @param event 需要添加的事件名稱(String),不加“on”
          *
          @param handler 需要添加的方法引用(Function)
          */
          addEvent : function(element, event, handler) {
          if(element.attachEvent) {
          element.attachEvent(
          'on'+ event, handler);
          }
          elseif (element.addEventListener) {
          element.addEventListener(event, handler,
          false);
          }
          else {
          element[
          'on'+ event] = handler;
          }
          },

          /**
          * 添加事件處理程序時,只能添加一個方法的引用,并不能給
          * 方法加上參數(shù)。比如定義了 clickEvent(str) 這個方法,現(xiàn)
          * 在要將其作為 obj 的 onclick 的事件處理程序,就可以用:
          * obj.onclick = Event.getFuntion(null, clickEvent, str);
          *
          *
          @param obj 需要綁定事件處理函數(shù)的所有者,null 表示 window 對象
          *
          @param fun 需要綁定的事件處理函數(shù)名
          *
          @param ... 第三個參數(shù)開始為綁定事件處理函數(shù)的參數(shù),由 0 到多個構(gòu)成
          */
          getEventHandler : function(obj, fun) {
          var args
          = [];
          obj
          = obj || window;
          for(var i =2; i < arguments.length; i++) {
          args.push(arguments[i]);
          }
          return function() {
          fun.apply(obj, args);
          };
          }
          }

          function show(txtObj) {
          alert(txtObj.value);
          txtObj.focus();
          txtObj.select();
          }

          window.onload
          = function() {
          // var fun = Event.getEventHandler(window, show, $('txt'));
          // Event.addEvent($('btn'), 'click', fun);
          $('btn').onclick = Event.getEventHandler(null, show, $('txt'));
          }
          </script>

          <body>
          <div id="content">
          <form>
          <input type="text" name="txt" id="txt"><br />
          <input type="button" name="btn" id="btn" value="click">
          </form>
          </div>
          </body>

          </html>
          posted on 2008-11-30 11:50 SIMONE 閱讀(915) 評論(0)  編輯  收藏 所屬分類: JavaScript
          主站蜘蛛池模板: 资溪县| 宁都县| 田东县| 历史| 抚顺县| 神池县| 彝良县| 桦川县| 上高县| 佛山市| 犍为县| 昌宁县| 宾阳县| 万荣县| 五家渠市| 潞城市| 缙云县| 特克斯县| 体育| 花垣县| 托克托县| 承德市| 中山市| 包头市| 高要市| 新竹县| 淅川县| 沙坪坝区| 滕州市| 荃湾区| 安国市| 合肥市| 商水县| 城口县| 富川| 吉木萨尔县| 福州市| 长丰县| 鹤山市| 楚雄市| 梁平县|