HTML DOM Event 對象

來源:互聯網
上載者:User
HTML DOM Event 對象執行個體

哪個滑鼠按鍵被點擊?

游標的座標是?

被按的按鍵的 unicode 是?

相對於螢幕,游標的座標是?

shift 鍵被按了嗎?

哪個元素被點擊了?

哪個事件類型發生了?

Event 對象

Event 對象代表事件的狀態,比如事件在其中發生的元素、鍵盤按鍵的狀態、滑鼠的位置、滑鼠按鍵的狀態。

事件通常與函數結合使用,函數不會在事件發生前被執行!

IE: Internet Explorer, F: Firefox, O: Opera, W3C: World Wide Web Consortium (Internet 標準).

事件控制代碼 (Event Handlers)

HTML 4.0 的新特性之一是能夠使 HTML 事件觸發瀏覽器中的行為,比如當使用者點擊某個 HTML 元素時啟動一段 JavaScript。下面是一個屬性列表,可將之插入 HTML 標籤以定義事件的行為。

屬性 此事件發生在何時... IE F O W3C
onabort 映像的載入被中斷。 4 1 9 Yes
onblur 元素失去焦點。 3 1 9 Yes
onchange 域的內容被改變。 3 1 9 Yes
onclick 當使用者點擊某個對象時調用的事件控制代碼。 3 1 9 Yes
ondblclick 當使用者雙擊某個對象時調用的事件控制代碼。 4 1 9 Yes
onerror 在載入文檔或映像時發生錯誤。 4 1 9 Yes
onfocus 元素獲得焦點。 3 1 9 Yes
onkeydown 某個鍵盤按鍵被按下。 3 1 No Yes
onkeypress 某個鍵盤按鍵被按下並鬆開。 3 1 9 Yes
onkeyup 某個鍵盤按鍵被鬆開。 3 1 9 Yes
onload 一張頁面或一幅映像完成載入。 3 1 9 Yes
onmousedown 滑鼠按鍵被按下。 4 1 9 Yes
onmousemove 滑鼠被移動。 3 1 9 Yes
onmouseout 滑鼠從某元素移開。 4 1 9 Yes
onmouseover 滑鼠移到某元素之上。 3 1 9 Yes
onmouseup 滑鼠按鍵被鬆開。 4 1 9 Yes
onreset 重設按鈕被點擊。 4 1 9 Yes
onresize 視窗或架構被重新調整大小。 4 1 9 Yes
onselect 文本被選中。 3 1 9 Yes
onsubmit 確認按鈕被點擊。 3 1 9 Yes
onunload 使用者退出頁面。 3 1 9 Yes
滑鼠 / 鍵盤屬性
屬性 描述 IE F O W3C
altKey 返回當事件被觸發時,"ALT" 是否被按下。 6 1 9 Yes
button 返回當事件被觸發時,哪個滑鼠按鍵被點擊。 6 1 9 Yes
clientX 返回當事件被觸發時,滑鼠指標的水平座標。 6 1 9 Yes
clientY 返回當事件被觸發時,滑鼠指標的垂直座標。 6 1 9 Yes
ctrlKey 返回當事件被觸發時,"CTRL" 鍵是否被按下。 6 1 9 Yes
metaKey 返回當事件被觸發時,"meta" 鍵是否被按下。 No 1 9 Yes
relatedTarget 返回與事件的目標節點相關的節點。 No 1 9 Yes
screenX 返回當某個事件被觸發時,滑鼠指標的水平座標。 6 1 9 Yes
screenY 返回當某個事件被觸發時,滑鼠指標的垂直座標。 6 1 9 Yes
shiftKey 返回當事件被觸發時,"SHIFT" 鍵是否被按下。 6 1 9 Yes
IE 屬性

除了上面的滑鼠/事件屬性,IE 瀏覽器還支援下面的屬性:

屬性 描述
cancelBubble 如果事件控制代碼想阻止事件傳播到包容對象,必須把該屬性設為 true。
fromElement 對於 mouseover 和 mouseout 事件,fromElement 引用移出滑鼠的元素。
keyCode 對於 keypress 事件,該屬性聲明了被敲擊的鍵產生的 Unicode 字元碼。對於 keydown 和 keyup 事件,它指定了被敲擊的鍵的虛擬鍵盤碼。虛擬鍵盤碼可能和使用的鍵盤的布局相關。
offsetX,offsetY 發生事件的地點在事件來源元素的座標系統中的 x 座標和 y 座標。
returnValue 如果設定了該屬性,它的值比事件控制代碼的傳回值優先順序高。把這個屬性設定為 fasle,可以取消發生事件的源元素的預設動作。
srcElement 對於建置事件的 Window 對象、Document 對象或 Element 對象的引用。
toElement 對於 mouseover 和 mouseout 事件,該屬性引用移入滑鼠的元素。
x,y 事件發生的位置的 x 座標和 y 座標,它們相對於用CSS動態定位的最內層包容元素。
標準 Event 屬性

下面列出了 2 級 DOM 事件標準定義的屬性。

屬性 描述 IE F O W3C
bubbles 返回一個布爾值,指示事件是否是起泡事件類型。 No 1 9 Yes
cancelable 返回一個指示布爾值,指示事件是否可擁可取消的預設動作。 No 1 9 Yes
currentTarget 返回其事件監聽器觸發該事件的元素。 No 1 9 Yes
eventPhase 返回事件傳播的當前階段。       Yes
target 返回觸發此事件的元素(事件的目標節點)。 No 1 9 Yes
timeStamp 返回事件產生的日期和時間。 No 1 9 Yes
type 返回當前 Event 對象表示的事件的名稱。 6 1 9 Yes
標準 Event 方法

下面列出了 2 級 DOM 事件標準定義的方法。IE 的事件模型不支援這些方法:

方法 描述 IE F O W3C
initEvent() 初始化新建立的 Event 對象的屬性。 No 1 9 Yes
preventDefault() 通知瀏覽器不要執行與事件關聯的預設動作。 No 1 9 Yes
stopPropagation() 終止事件在傳播過程的捕獲、目標處理或起泡階段進一步傳播。調用該方法後,該節點上處理該事件的處理常式將被調用,事件不再被指派到其他節點。 No 1 9 Yes
 新增:2008-9-25: event.srcElement  應用:    event.srcElement.tagName可以捕獲主動標記名稱。
    注意擷取的標記都以大寫表示,如"TD","TR","A"等。Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title></title>
  <script type="text/javascript">
    function tdclick(){
        if(event.srcElement.tagName.toLowerCase()=='td')
            alert("行:"+(event.srcElement.parentNode.rowIndex+1)+"列:"+(event.srcElement.cellIndex+1));
    }
  </script>
</head>
<body>
<table align="center" onclick="tdclick()" width="100%" height="400" cellspacing="1" border="1" bordercolor="#000000" bordercolorlight="#000000" bordercolordark="#C0C0C0" bgcolor="#C0C0C0">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html>:  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.