鼠標和鍵盤事件是在頁面操作中使用最頻繁的操作,可以利用鼠標事件在頁面中實現鼠標移動、單擊時的特殊效果,也可以利用鍵盤來制作頁面的快捷鍵等。
鼠標的單擊事件
單擊事件(onclick)是在鼠標單擊時被觸發的事件。單擊是指鼠標停留在對象上,按下鼠標鍵,在沒有移動鼠標的同時釋放鼠標鍵的這一完整過程。
單擊事件一般應用於 Button 對象、Checkbox 對象、Image 對象、Link 對象、Radio 對象、Reset對象和Submit對象,Button 對象一般只會用到 onclick事件處理程序,因為該對象不能從用戶那里得到任何信息,如果沒有onclick事件處理程序,按鈕對象將不會有任何作用。
注意:
在使用對象的單去事作時,如果在對象上按下鼠標健,然后移動鼠標到對象外再松開鼠標,單擊事件無效。單擊事件必須在對象上按下松開后,才會執行單擊事件的處理程序。
例子: 通過按鈕變換背景顏色。
本實例通過單擊“變換背景”按鈕,動態地改變頁面的背景顏色,當用戶再次單擊按鈕時,頁面背景將以不同的顏色進行顯示。
代碼如下:
<html>
<head>
<meta charset="utf-8">
<title></title>
<script language="JavaScript">
var arraycolor=new Array("olive","teal","red","blue","maroon","navy");
var n=0;
function turncolors(){
if(n==(arraycolor.length-1)) n=0;
n++;
document.bgColor=arraycolor[n];
}
</script>
</head>
<body>
<input type="button" name="Submit" value="背景變色" onclick="turncolors()"/>
</body>
</html>
演示效果:
鼠標的松開或按下事件
鼠標的按下或松開事件分別是onmousedown和onmouseup事件。其中,onmousedown事件用於在鼠標按下時觸發事件處理程序,onmouseup 事件是在鼠標松開時觸發事件處理程序。在用鼠標單擊對象時,可以用這兩個事件實現其動態效果。
例子:用事件制作超鏈接文本
本實例是用onmousedown和onmouseup事件將文本制作成類似於<a> (超鏈接)標記的功能,也就是在文本上按下鼠標時,改變文本的顏色,當在文本上松開鼠標時,恢復文本的默認顏色,井彈出一個空頁(可以鏈接任意網頁)。 運行結果如圖所示。
代碼:
<html>
<head>
<meta charset="utf-8">
<title></title>
<script language="JavaScript" type="text/javascript">
function mousedown(event){ //設置鼠標按下時的顏色
var e=window.event;
var obj=e.srcElement;
obj.style.color='red';
}
function mouseup(event){ //設置鼠標松開時的顏色
var e=window.event;
var obj=e.srcElement;
obj.style.color='blue';
}
</script>
</head>
<body >
<p style="color: green;" onmousedown="mousedown()" onmouseup="mouseup()">
改變
</p>
</body>
</html>
鼠標的移入/移出事件
鼠標的移入和移出事件分別是onmouseover和onmouseout事件。其中,onmouseover 事件在鼠標移動到對象上方時觸發事件處理程序,onmouseout事件在鼠標移出對象上方時觸發事件處理程序。可以用這兩個事件實現在指定的對象上移動鼠標時,其對象的動態效果。
鼠標移動事件
鼠標移動事件(onmousemove) 是鼠標在頁面上進行移動時觸發事件處理程序,可以在該事件中用document對象實時讀取鼠標在頁面中的位置。
例子:在狀態欄中顯示鼠標在頁面中的當前位置
本實例是鼠標在頁面中移動時,在頁面的狀態欄中顯示當前鼠標在頁面上的位置,也就是(x,y)值。
代碼:
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<script type="text/javascript">
var x=0;y=0;
function mouseplace(){
x=window.event.x;
y=window.event.y;
window.status="X: "+x+" Y: "+y+" ";
}
document.onmousemove=mouseplace(); //讀取鼠標在頁面中的位置
</script>
<body>
</body>
</html>