2009年1月13日

window:操控器二頁

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

用戶在視窗點擊滑鼠,會啟動此事件操控器。可由 event 物件檢查是哪一鍵被點擊及其座標。

event.button 的值,Firefox, Safari, Chrome 的定義:

  1. 0:左鍵。
  2. 1:中鍵,多已改為滾輪。
  3. 2:右鍵。

event.button 的值,IE 的定義:

  1. 0:沒有按。
  2. 1:左鍵。
  3. 2:右鍵。
  4. 3:兩鍵同時按。
  5. 4:中鍵。

event.screenX, event.screenY 放滑鼠點擊座標,以螢幕之左上角為原點 (0,0)。

event.clientX, event.clientY 放滑鼠點擊座標,以瀏覽器的展現區之左上角為原點。可以將瀏覽器變小,就可以看出與上面的差異。

在 Firefox, Safari, Chrome 可以用 window.onclick;在 IE 必須使用 document.body.onclick。

在 Firefox 用 window.onclick 時,點擊滑鼠任一鍵,都會呼用操控器。其它情形,只有點擊滑鼠左鍵會產生 onclick 事件。

可加在 HTML 元素上使用,請參考 onclick

  • 程式用法:

    <script type='text/javascript'>
    function onclickHd(e)
    {
      var e = e || window.event;
      onclickSet(null);
      alert('滑鼠'+ e.button +' / '+
            e.clientX +','+ e.clientY +' / '+
            e.screenX  +','+ e.screenY);
    }
    function onclickSet(hd)
    {
      if( window.outerWidth == undefined )
        document.body.onclick=hd;
      else
        window.onclick=hd;
    }
    </script>
    <a href='javascript:onclickSet(onclickHd)'>設定操控器</a>

  • 執行結果:

    設定操控器

onclose

關閉視窗,會啟動此事件操控器。主要瀏覽器沒有支援此項,下面的範例測試沒成功。

  • 程式用法:

    <script type='text/javascript'>
    var wCh;
    function openW()
    {
      wCh=window.open('http://ant4js.blogspot.com/2009/01/onclose.html',
        '', 'alwaysRaised=yes, width=700, height=500, scrollbars=yes');
    }
    </script>
    <a href='javascript:openW()'>先開啟視窗</a> // 
    <a href='javascript:wCh.close()'>再關閉視窗</a> 

  • 執行結果:

    先開啟視窗 // 再關閉視窗

oncontextmenu

點擊滑鼠右鍵,會啟動此事件操控器。操控器傳回 false,可以取消預設的選單。Firefox 使用 window.oncontextmenu;IE, Safari, Chrome 使用 document.body.oncontextmenu。

  • 程式用法:

    <script type='text/javascript'>
    function oncontextmenuHd(e)
    {
      var e = e || window.event;
      oncontextmenuSet(null);
      alert('滑鼠'+ e.button +' / '+
            e.clientX +','+ e.clientY +' / '+
            e.screenX  +','+ e.screenY);
      return false;
    }
    function oncontextmenuSet(hd)
    {
      if(window.fullScreen == undefined)
        document.body.oncontextmenu=hd;
      else
        window.oncontextmenu=hd;
    }
    </script>
    <a href='javascript:oncontextmenuSet(oncontextmenuHd)'>設定操控器</a>

  • 執行結果:

    設定操控器

ondblclick

用戶在視窗雙點擊滑鼠,會啟動此事件操控器。在 Firefox, Safari, Chrome 可以用 window.ondblclick;在 IE 必須使用 document.body.ondblclick。

在 Firefox 用 window.ondblclick 時,點擊滑鼠任一鍵,都會呼用操控器。其它情形,只有點擊滑鼠左鍵會產生 ondblclick 事件。

可加在 HTML 元素上使用,請參考 ondblclick

  • 程式用法:

    <script type='text/javascript'>
    function ondblclickHd(e)
    {
      var e = e || window.event;
      ondblclickSet(null);
      alert('滑鼠'+ e.button +' / '+
            e.clientX +','+ e.clientY +' / '+
            e.screenX  +','+ e.screenY);
      return false;
    }
    function ondblclickSet(hd)
    {
      if( window.outerWidth == undefined )
        document.body.ondblclick=hd;
      else
        window.ondblclick=hd;
    }
    </script>
    <a href='javascript:ondblclickSet(ondblclickHd)'>設定操控器</a>

  • 執行結果:

    設定操控器


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