1. 程式人生 > >為同一個元素,新增相同名字的處理函式的不同繫結事件—通過switch語法

為同一個元素,新增相同名字的處理函式的不同繫結事件—通過switch語法

要點:

1.switch語法跟break語法結合使用,才能達到效果,滿足條件後,執行出路函式,然後跳出迴圈。

2.這裡的.type是返回的是事件的繫結型別,如click。區別與typeof 判斷的是值的型別,如 "undefined"。

程式碼:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<input type="button" value="點我不花一分錢" id="btn">

	<script type="text/javascript">
		function myGet(id){
			return document.getElementById(id);
		}
        
        myGet("btn").onclick = f1;
        myGet("btn").onmouseover = f1;
        myGet("btn").onmouseout = f1;

        function f1(e){
        	switch (e.type){
        	   //通過.type判斷事件的型別,而做出相應的switch和case對應的操作
               case "click": alert("裝備不花一分錢");
               break;
               case "mouseover": this.style.backgroundColor = "blue";
               break;
               case "mouseout": this.style.backgroundColor = "yellow";
        	}
        	// 這裡一定要注意,繫結事件型別的名字本來前面就不帶on,這是微軟的特例,其他瀏覽器是為了相容
        }
	</script>
</body>
</html>

效果: