在閱讀本文前,可以先閱讀《Javascript拖拽&拖放系列文章2之offsetLeft、offsetTop、offsetWidth、offsetHeight屬性》這篇文章,以理清上下文關係。
好了,讓我們開始進入正題。
模型相同的屬性/方法
1 Button屬性
Integer類型,可讀可寫。對於特定的滑鼠事件,表示按下的滑鼠按鍵,它可以在拖拽的時候,判斷是否是滑鼠左鍵引發mousedown事件。它的所有取值及其意義(參考自《Javascript進階程式設計》)好了,讓我們開始進入正題。
3.1 e/window.Event對象的屬性/方法
3.1.1 IE事件模型和DOM事件如下:
0-未按下按鈕
1-按下左鍵
2-按下右鍵
3-同步選取左右按鈕
4-按下中鍵
5-按下左鍵和中鍵
6-按下右鍵和中鍵
7同步選取左中右鍵
mouseup的button屬性返回的數值和mousedown事件中的完全一樣。
註:在相容DOM事件模型的所有瀏覽器中,0表示按下左鍵,數值1並不存在,2表示按下右鍵,對於非滑鼠事件,返回“undefined”。
2 clientX、clientY屬性
這兩個屬性的類型都是Integer,單位是像素,可讀可寫。分別表示相關事件發生時,滑鼠在瀏覽器的用戶端地區(不包括工具列、捲軸等)的x座標和y座標。用一張圖片來解釋就再好不過了,請看:
圖3.1:clientX和clientY屬性
以下代碼是一個非常簡單的樣本,它可以隨時定位滑鼠的座標,並將結果顯示在兩個文字框中,如果願意的話,你可以嘗試運行它,相容目前所有的現代瀏覽器。
範例程式碼1:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<style type="text/css"> body{
border:1px solid black;
margin:0px;
}
</style>
<script type="text/javascript" language="JavaScript">
document.onmousemove=move;
function move(e){
if(!e)
{
e=window.event;
}
var xElement=document.getElementById("x");
var yElement=document.getElementById("y");
xElement.value=e.clientX;
yElement.value=e.clientY;
}
</script>
</head>
<body>
<input type="text" id="x" value="" />
<input type="text" id="y" value="" />
</body>
</html>
3 type屬性