JS中判斷鼠標按鍵的問題。 IE 左鍵是 window.event.button = 1 右鍵是 window.event.button = 2 中鍵是 window.event.button = 4 沒有按鍵動作window.event.button = 0 Firefox 左鍵是 event.button = 0 右鍵是 event.button = 2 中鍵是 event.button = 1 沒有按鍵動作 event.button = 0 Opera 7.23/7.54 鼠標左鍵是 window.event.button = 1 沒有按鍵動作 window.event.button = 1 右鍵和中鍵無法獲取 Opera 7.60/8.0 鼠標左鍵是 window.event.button = 0 沒有按鍵動作 window.event.button = 0 右鍵和中鍵無法獲取 另外:屏蔽右鍵的是window.event.button = 3 ************************************************************ Window.event對象代表事件的狀態,例如觸發event對象的元素、鼠標的位置及狀態、按下的鍵等等。 Window.event對象只在事件發生的過程中才有效。 Window.event的某些屬性只對特定的事件有意義。比如,fromElement 和 toElement 屬性只對 onmouseover 和 onmouseout 事件有意義。 如果事件觸發后,鼠標移出窗口外,則返回的值為 -1 ,這是個只讀屬性。這意味著,你只能通過它來得到鼠標的當前位置,卻不能用它來更改鼠標的位置。 Event對象的屬性有: altKey, button, cancelBubble, clientX, clientY, ctrlKey, fromElement, keyCode, offsetX, offsetY, propertyName, returnValue, screenX, screenY, shiftKey, srcElement, srcFilter, toElement, type, x, y 下面簡單的描述一下它的這些屬性: 1.altKey 描述: 檢查alt鍵的狀態。 語法: event.altKey 可能的值: 當alt鍵按下時,值為 TRUE ,否則為 FALSE 。只讀。 2.button 描述: 檢查按下的鼠標鍵。 語法: event.button 可能的值: 0 沒按鍵 ;1 按左鍵 ;2 按右鍵 ;3 按左右鍵 ;4 按中間鍵 ;5 按左鍵和中間鍵 ;6 按右鍵和中間鍵 ;7 按所有的鍵 這個屬性僅用于onmousedown, onmouseup, 和 onmousemove 事件。對其他事件,不管鼠標狀態如何,都返回 0(比如onclick)。 3.cancelBubble 描述: 檢測是否接受上層元素的事件的控制。 語法: event.cancelBubble[ = cancelBubble] 可能的值: 這是一個可讀寫的布爾值: TRUE 不被上層原素的事件控制。 FALSE 允許被上層元素的事件控制。這是默認值。 4.clientX 描述: 返回鼠標在窗口客戶區域中的X坐標。 語法: event.clientX 注釋: 這是個只讀屬性。這意味著,你只能通過它來得到鼠標的當前位置,卻不能用它來更改鼠標的位置。 5.clientY 描述: 返回鼠標在窗口客戶區域中的Y坐標。 語法: event.clientY 注釋: 這是個只讀屬性。這意味著,你只能通過它來得到鼠標的當前位置,卻不能用它來更改鼠標的位置。 6.ctrlKey 描述: 檢查ctrl鍵的狀態。 語法: event.ctrlKey 可能的值: 當ctrl鍵按下時,值為 TRUE ,否則為 FALSE 。只讀。 7.fromElement 描述: 檢測 onmouseover 和 onmouseout 事件發生時,鼠標所離開的元素。 參考18.toElement 語法: event.fromElement 注釋: 這是個只讀屬性。 8.keyCode 描述:檢測鍵盤事件相對應的內碼。 這個屬性用于 onkeydown, onkeyup, 和 onkeypress 事件。 語法: event.keyCode[ = keyCode] 可能的值: 這是個可讀寫的值,可以是任何一個Unicode鍵盤內碼。如果沒有引發鍵盤事件,則該值為 0 9.offsetX 描述: 檢查相對于觸發事件的對象,鼠標位置的水平坐標 語法: event.offsetX 10.offsetY 描述: 檢查相對于觸發事件的對象,鼠標位置的垂直坐標 語法: event.offsetY 11.propertyName 描述: 設置或返回元素的變化了的屬性的名稱。 語法: event.propertyName [ = sProperty ] 可能的值: sProperty 是一個字符串,指定或返回觸發事件的元素在事件中變化了的屬性的名稱。 注釋:這個屬性是可讀寫的。無默認值。你可以通過使用 onpropertychange 事件,得到 propertyName 的值。 12.returnValue 描述: 設置或檢查從事件中返回的值 語法: event.returnValue[ = Boolean] 可能的值: true 事件中的值被返回 false 源對象上事件的默認操作被取消 13.screenX 描述: 檢測鼠標相對于用戶屏幕的水平位置 語法: event.screenX 注釋: 這是個只讀屬性。這意味著,你只能通過它來得到鼠標的當前位置,卻不能用它來更改鼠標的位置。 14.screenY 描述: 檢測鼠標相對于用戶屏幕的垂直位置 語法: event.screenY 注釋: 這是個只讀屬性。這意味著,你只能通過它來得到鼠標的當前位置,卻不能用它來更改鼠標的位置。 15.shiftKey 描述: 檢查shift鍵的狀態。 語法: event.shiftKey 可能的值: 當shift鍵按下時,值為 TRUE ,否則為 FALSE 。只讀。 16.srcElement 描述: 返回觸發事件的元素。只讀。例子見本文開頭。 語法: event.srcElement 17.srcFilter 描述: 返回觸發 onfilterchange 事件的濾鏡。只讀。 語法: event.srcFilter 18.toElement 描述: 檢測 onmouseover 和 onmouseout 事件發生時,鼠標所進入的元素。 參考7.fromElement 語法: event.toElement 注釋: 這是個只讀屬性。 19.type 描述: 返回事件名。 語法: event.type 注釋: 返回沒有“on”作為前綴的事件名,比如,onclick事件返回的type是click 只讀。 20. x 描述: 返回鼠標相對于css屬性中有position屬性的上級元素的x軸坐標。如果沒有css屬性中有position屬性的上級元素,默認以BODY元素作為參考對象。 語法: event.x 注釋: 如果事件觸發后,鼠標移出窗口外,則返回的值為 -1 這是個只讀屬性。這意味著,你只能通過它來得到鼠標的當前位置,卻不能用它來更改鼠標的位置。 21. y 描述: 返回鼠標相對于css屬性中有position屬性的上級元素的y軸坐標。如果沒有css屬性中有position屬性的上級元素,默認以BODY元素作為參考對象。