JS技巧:JS教程:window.event對(duì)象
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
window.event對(duì)象 event代表事件的狀態(tài),例如觸發(fā)event對(duì)象的元素、鼠標(biāo)的位置及狀態(tài)、按下的鍵等等。 event對(duì)象只在事件發(fā)生的過(guò)程中才有效。 event的某些屬性只對(duì)特定的事件有意義。比如,fromElement 和 toElement 屬性只對(duì) onmouseover 和 onmouseout 事件有意義。 例子 下面的例子檢查鼠標(biāo)是否在鏈接上單擊,并且,如果shift鍵被按下,就取消鏈接的跳轉(zhuǎn)。 Java代碼 1.<HTML> 2.<HEAD><TITLE>Cancels Links</TITLE> 3.<SCRIPT LANGUAGE="JScript"> 4.function cancelLink() { 5.if (window.event.srcElement.tagName == "A" && window.event.shiftKey) 6.window.event.returnValue = false; 7.} 8.</SCRIPT> 9.<BODY onclick="cancelLink()"> 下面的例子在狀態(tài)欄上顯示鼠標(biāo)的當(dāng)前位置。 Java代碼 1.<BODY onmousemove="window.status = 'X=' + window.event.x + ' Y=' + window.event.y"> 屬性: altKey, button, cancelBubble, clientX, clientY, ctrlKey, fromElement, keyCode, offsetX, offsetY, propertyName, returnValue, screenX, screenY, shiftKey, srcElement, srcFilter, toElement, type, x, y -------------------------------------------------------------------------------- 1.altKey 描述: 檢查alt鍵的狀態(tài)。 語(yǔ)法: event.altKey 可能的值: 當(dāng)alt鍵按下時(shí),值為 TRUE ,否則為 FALSE 。只讀。 2.button 描述: 檢查按下的鼠標(biāo)鍵。 語(yǔ)法: event.button 可能的值: 0 沒(méi)按鍵 1 按左鍵 2 按右鍵 3 按左右鍵 4 按中間鍵 5 按左鍵和中間鍵 6 按右鍵和中間鍵 7 按所有的鍵 這個(gè)屬性?xún)H用于onmousedown, onmouseup, 和 onmousemove 事件。對(duì)其他事件,不管鼠標(biāo)狀態(tài)如何,都返回 0(比如onclick)。 3.cancelBubble 描述: 檢測(cè)是否接受上層元素的事件的控制。 語(yǔ)法: event.cancelBubble[ = cancelBubble] 可能的值: 這是一個(gè)可讀寫(xiě)的布爾值: TRUE 不被上層原素的事件控制。 FALSE 允許被上層元素的事件控制。這是默認(rèn)值。 例子: 下面的代碼片斷演示了當(dāng)在圖片上點(diǎn)擊(onclick)時(shí),如果同時(shí)shift鍵也被按下,就取消上層元素(body)上的事件onclick所引發(fā)的showSrc()函數(shù)。 Java代碼 1.<SCRIPT LANGUAGE="JScript"> 2.function checkCancel() { 3.if (window.event.shiftKey) 4.window.event.cancelBubble = true; 5.} 6.function showSrc() { 7.if (window.event.srcElement.tagName == "IMG") 8.alert(window.event.srcElement.src); 9.} 10.</SCRIPT> 11.<BODY onclick="showSrc()"> 12.<IMG onclick="checkCancel()" src="/sample.gif"> 4.clientX 描述: 返回鼠標(biāo)在窗口客戶(hù)區(qū)域中的X坐標(biāo)。 語(yǔ)法: event.clientX 注釋?zhuān)? 這是個(gè)只讀屬性。這意味著,你只能通過(guò)它來(lái)得到鼠標(biāo)的當(dāng)前位置,卻不能用它來(lái)更改鼠標(biāo)的位置。 5.clientY 描述: 返回鼠標(biāo)在窗口客戶(hù)區(qū)域中的Y坐標(biāo)。 語(yǔ)法: event.clientY 注釋?zhuān)? 這是個(gè)只讀屬性。這意味著,你只能通過(guò)它來(lái)得到鼠標(biāo)的當(dāng)前位置,卻不能用它來(lái)更改鼠標(biāo)的位置。 6.ctrlKey 描述: 檢查ctrl鍵的狀態(tài)。 語(yǔ)法: event.ctrlKey 可能的值: 當(dāng)ctrl鍵按下時(shí),值為 TRUE ,否則為 FALSE 。只讀。 7.fromElement 描述: 檢測(cè) onmouseover 和 onmouseout 事件發(fā)生時(shí),鼠標(biāo)所離開(kāi)的元素。 參考:18.toElement 語(yǔ)法: event.fromElement 注釋?zhuān)? 這是個(gè)只讀屬性。 8.keyCode 描述: 檢測(cè)鍵盤(pán)事件相對(duì)應(yīng)的內(nèi)碼。 這個(gè)屬性用于 onkeydown, onkeyup, 和 onkeypress 事件。 語(yǔ)法: event.keyCode[ = keyCode] 可能的值: 這是個(gè)可讀寫(xiě)的值,可以是任何一個(gè)Unicode鍵盤(pán)內(nèi)碼。如果沒(méi)有引發(fā)鍵盤(pán)事件,則該值為 0 。 9.offsetX 描述: 檢查相對(duì)于觸發(fā)事件的對(duì)象,鼠標(biāo)位置的水平坐標(biāo) 語(yǔ)法: event.offsetX 10.offsetY 描述: 檢查相對(duì)于觸發(fā)事件的對(duì)象,鼠標(biāo)位置的垂直坐標(biāo) 語(yǔ)法: event.offsetY 11.propertyName 描述: 設(shè)置或返回元素的變化了的屬性的名稱(chēng)。 語(yǔ)法: event.propertyName [ = sProperty ] 可能的值: sProperty 是一個(gè)字符串,指定或返回觸發(fā)事件的元素在事件中變化了的屬性的名稱(chēng)。 這個(gè)屬性是可讀寫(xiě)的。無(wú)默認(rèn)值。 注釋?zhuān)? 你可以通過(guò)使用 onpropertychange 事件,得到 propertyName 的值。 例子: 下面的例子通過(guò)使用 onpropertychange 事件,彈出一個(gè)對(duì)話框,顯示 propertyName 的值。 Java代碼 1.<HEAD> 2.<SCRIPT> 3.function changeProp() 4.{ 5.btnProp.value = "This is the new VALUE"; 6.} 7. 8.function changeCSSProp() 9.{ 10.btnStyleProp.style.backgroundColor = "aqua"; 11.} 12.</SCRIPT> 13.</HEAD> 14.<BODY> 15.<P>The event object property propertyName is 16.used here to return which property has been 17.altered.</P> 18. 19.<INPUT TYPE=button ID=btnProp onclick="changeProp()" 20.VALUE="Click to change the VALUE property of this button" 21.onpropertychange='alert(event.propertyName+" property has changed value")'> 22.<INPUT TYPE=button ID=btnStyleProp 23.onclick="changeCSSProp()" 24.VALUE="Click to change the CSS backgroundColor property of this button" 25.onpropertychange='alert(event.propertyName+" property has changed value")'> 26.</BODY> 12.returnValue 描述: 設(shè)置或檢查從事件中返回的值 語(yǔ)法: event.returnValue[ = Boolean] 可能的值: true 事件中的值被返回 false 源對(duì)象上事件的默認(rèn)操作被取消 例子見(jiàn)本文的開(kāi)頭。 13.screenX 描述: 檢測(cè)鼠標(biāo)相對(duì)于用戶(hù)屏幕的水平位置 語(yǔ)法: event.screenX 注釋?zhuān)? 這是個(gè)只讀屬性。這意味著,你只能通過(guò)它來(lái)得到鼠標(biāo)的當(dāng)前位置,卻不能用它來(lái)更改鼠標(biāo)的位置。 14.screenY 描述: 檢測(cè)鼠標(biāo)相對(duì)于用戶(hù)屏幕的垂直位置 語(yǔ)法: event.screenY 注釋?zhuān)? 這是個(gè)只讀屬性。這意味著,你只能通過(guò)它來(lái)得到鼠標(biāo)的當(dāng)前位置,卻不能用它來(lái)更改鼠標(biāo)的位置。 15.shiftKey 描述: 檢查shift鍵的狀態(tài)。 語(yǔ)法: event.shiftKey 可能的值: 當(dāng)shift鍵按下時(shí),值為 TRUE ,否則為 FALSE 。只讀。 16.srcElement 描述: 返回觸發(fā)事件的元素。只讀。例子見(jiàn)本文開(kāi)頭。 語(yǔ)法: event.srcElement 17.srcFilter 描述: 返回觸發(fā) onfilterchange 事件的濾鏡。只讀。 語(yǔ)法: event.srcFilter 18.toElement 描述: 檢測(cè) onmouseover 和 onmouseout 事件發(fā)生時(shí),鼠標(biāo)所進(jìn)入的元素。 參考:7.fromElement 語(yǔ)法: event.toElement 注釋?zhuān)? 這是個(gè)只讀屬性。 例子:下面的代碼演示了當(dāng)鼠標(biāo)移到按鈕上時(shí),彈出一個(gè)對(duì)話框,顯示“mouse arrived” Java代碼 1.<SCRIPT> 2.function testMouse(oObject) { 3.if(oObject.contains(event.toElement)) { 4.alert("mouse arrived"); 5.} 6.} 7.</SCRIPT> 8.: 9.<BUTTON ID=oButton onmouseover="testMouse(this)">Mouse Over This.</BUTTON> 19.type 描述: 返回事件名。 語(yǔ)法: event.type 注釋?zhuān)? 返回沒(méi)有“on”作為前綴的事件名,比如,onclick事件返回的type是click 只讀。 20. x 描述: 返回鼠標(biāo)相對(duì)于css屬性中有position屬性的上級(jí)元素的x軸坐標(biāo)。如果沒(méi)有css屬性中有position屬性的上級(jí)元素,默認(rèn)以BODY元素作為參考對(duì)象。 語(yǔ)法: event.x 注釋?zhuān)? 如果事件觸發(fā)后,鼠標(biāo)移出窗口外,則返回的值為 -1 這是個(gè)只讀屬性。這意味著,你只能通過(guò)它來(lái)得到鼠標(biāo)的當(dāng)前位置,卻不能用它來(lái)更改鼠標(biāo)的位置。 21. y 描述: 返回鼠標(biāo)相對(duì)于css屬性中有position屬性的上級(jí)元素的y軸坐標(biāo)。如果沒(méi)有css屬性中有position屬性的上級(jí)元素,默認(rèn)以BODY元素作為參考對(duì)象。 語(yǔ)法: event.y 注釋?zhuān)?
如果事件觸發(fā)后,鼠標(biāo)移出窗口外,則返回的值為 -1 這是個(gè)只讀屬性。這意味著,你只能通過(guò)它來(lái)得到鼠標(biāo)的當(dāng)前位置,卻不能用它來(lái)更改鼠標(biāo)的位置。 該文章在 2010/8/17 23:31:26 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |