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;
          }
          },

          /**
          * 添加事件處理程序時,只能添加一個方法的引用,并不能給
          * 方法加上參數。比如定義了 clickEvent(str) 這個方法,現
          * 在要將其作為 obj 的 onclick 的事件處理程序,就可以用:
          * obj.onclick = Event.getFuntion(null, clickEvent, str);
          *
          *
          @param obj 需要綁定事件處理函數的所有者,null 表示 window 對象
          *
          @param fun 需要綁定的事件處理函數名
          *
          @param ... 第三個參數開始為綁定事件處理函數的參數,由 0 到多個構成
          */
          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
          主站蜘蛛池模板: 大埔区| 普宁市| 梁河县| 香河县| 安平县| 河池市| 赣榆县| 揭阳市| 丹寨县| 石林| 尼勒克县| 杭州市| 都昌县| 清远市| 南宁市| 钟祥市| 界首市| 淮安市| 临邑县| 怀远县| 湾仔区| 绵阳市| 龙泉市| 赞皇县| 太保市| 蓬安县| 江阴市| 固原市| 息烽县| 三河市| 彝良县| 灵璧县| 六枝特区| 突泉县| 黎平县| 台南市| 城步| 厦门市| 金乡县| 惠州市| 乃东县|