2009年1月13日

window:操控器三頁

window | 特徵一頁 | 二頁 | 三頁 | 四頁 | 五頁
方法一頁 | 二頁 | 三頁 | 四頁 | 五頁 | 六頁 | 七頁
操控器一頁 | 二頁 | 三頁 | 四頁 | 五頁 | 六頁 | 七頁 | 成員表
window 的事件操控器
ondragdrop

用滑鼠由其它程式拖曳檔案,文件;放置此視窗,會啟動此事件操控器。要用 addEventListener設定事件操控器。

  • 程式用法:

    <script type='text/javascript'>
    function ondragdropHd(e)
    {
      var e = e || window.event;
      alert('拖放 : ' +e);
      e.cancelBubble = true;
      if(e.stopPropagation) e.stopPropagation();
    }
    function ondragdropSet(hd)
    {
      if(window.addEventListener)
        window.addEventListener("dragdrop", hd, false); 
      else
        window.attachEvent("ondrop", hd); 
    }
    function ondragdropClear(hd)
    {
      if(window.removeEventListener)
        window.removeEventListener("dragdrop", hd, false); 
      else
        window.detachEvent("ondrop", hd); 
    }
    </script>
    <a href='javascript:ondragdropSet(ondragdropHd)'>設定操控器</a> //
    <a href='javascript:ondragdropClear(ondragdropHd)'>清除操控器</a>

  • 執行結果:

    設定操控器 // 清除操控器

  • 上例只在 Firefox 測試成功。
onerror

當執行發生錯誤時,會跳到此特徵設定的操控器。操控器回傳 true,可以防止執行系統預設的操控器。操控器的參數:

  1. 錯誤訊息字串。
  2. 發生錯誤處的 URI 字串。
  3. 錯誤碼。

在 HTML 元素上使用 onerror 卻無法宣告參數時,可用 arguments[0] 至 arguments[2] 取得參數值。

可以使用 try catch 處理執行的錯誤。系統執行的錯誤會產生 Error 物件。

  • 程式用法:

    <script type='text/javascript'>
    function onerrorHd(m, l, c) 
    {
      alert(m +' : '+ c +' : : '+ l); 
      window.onerror=null;
    };
    function mistake()
    {
      //var a=new Array(9999999999);
      var a=ABC;
    }
    function onerrorSet(hd)
    {
      window.onerror=hd;
    }
    </script>
    <a href='javascript:onerrorSet(onerrorHd)'>設定操控器</a> // 
    <a href='javascript:mistake()'>產生錯誤</a>

  • 執行結果:

    設定操控器 // 產生錯誤

  • Safari, Chrome 失敗;IE, Firefox, 執行成功。
onfocus

當視窗獲得焦點,會啟動此事件操控器。可加在 HTML 元素上使用,請參考 onfocus。 下例中,先點選設定操控器,然後將焦點移到其它程式,再移回來。

  • 程式用法:

    <script type='text/javascript'>
    function onfocusHd(e)
    {
      var e = e || window.event;
      window.onfocus=null;
      alert('回來啦! '+e);
    }
    function onfocusSet(hd)
    {
      window.onfocus=hd;
    }
    </script>
    <a href='javascript:onfocusSet(onfocusHd)'>設定操控器</a>

  • 執行結果:

    設定操控器


©2008-2009 by ant2legs, All Rights Reserved. ant2legs 擁有其製作的文章,圖片與程式的著作權,所有權利保留。