JS事件處理

摘要:

js的事件機制:


    當我們的行爲動作滿足了一定的條件後,會觸發某類事務的執行。
        1、單雙擊事件
            單擊:onclick            當鼠標單擊的時候會觸發
            雙擊:ondblclick        當鼠標雙擊的時候會被觸發
        2、鼠標事件
            onmouseover            當鼠標懸停在某個HTML元素上的時候觸發
            onmousemove            當鼠標在某個HTML元素上移動的時候觸發
            onmouseout            當鼠標在某個HTML元素上移出的時候觸發
        3、鍵盤事件
            onkeyup                當鍵盤在某個HTML元素上彈起的時候觸發
            onkeydown            當鍵盤在某個HTML元素上下壓的時候觸發
        4、焦點事件
            onfocus                當某個HTML元素獲取焦點的時候觸發
            onblur                當某個HTML元素失去焦點的時候觸發
        5、頁面加載事件            
            onload                當頁面加載成功後觸發。
    注意:
        js中添加事件的第一種方式:
            在HTML上直接使用事件屬性進行添加,屬性值爲所監聽執行的函數。
        js中的事件只有在當前HTML元素上有效。
        一個HTML元素可以添加多個不同的事件。

       一個事件可以監聽觸發多個函數的執行,但是不同的函數要使用分號間隔

 

<html>
	<head>
		<title>js的事件機制學習</title>
		<meta charset="UTF-8"/>
				<!--聲明js代碼域-->
		<script type="text/javascript">
			/*聲明js函數*/
				//單擊事件
					function testOnclick(){
						alert("我是單擊");
					}
				//測試雙擊
					function testOndblclick(){
						alert("我是雙擊");
					}
				//鼠標事件
					function testOnmouseover(){
						alert("我是鼠標懸停事件");
					}
					
					function testOnmousemove(){
						alert("我被移動了");
					}
					
					function testOnmouseout(){
						alert("我被移出了");
					}
				//鍵盤事件
					function testOnkeyup(){
						alert("我是鍵盤彈起事件");
					}
					
					function testOnkeydown(){
						alert("我是鍵盤按下事件");
					}
				//焦點事件
					function testOnfocus(){
						document.getElementById("showdiv").innerHTML="哈哈";
					}
					
					function testOnblur(){
						alert("我是失去焦點事件");
					}
				//頁面加載
					function testOnload(){
						alert("我是頁面加載事件");
					}
				//測試
					function test(){
						alert("測試一個事件的多個函數執行");
					}
		</script>
		<style type="text/css">
			#showdiv{
				width: 300px;
				height: 300px;
				border: solid 1px;
			}
		</style>
	</head>
	<body onload="testOnload()">
		<h3>js的事件機制學習1</h3>
		<hr />
		<input type="button" name="" id="" value="測試單擊" onclick="testOnclick();test();" />
		<input type="button" name="" id="" value="測試雙擊" ondblclick="testOndblclick();" />
		<hr />
		<br /><br />
		<div id="showdiv" onmouseover="testOnmouseover();" onmousemove="testOnmousemove()" onmouseout="testOnmouseout()">
			
		</div>
		<hr />
		鍵盤事件學習:	<br />
			鍵盤彈起事件:<input type="text" name="" id="" value="" onkeyup="testOnkeyup();"/><br /><br />
			鍵盤下壓事件: <input type="text" name="" id="" value="" onkeydown="testOnkeydown()"/>
		<hr />
			焦點事件學習:<br />
				獲取焦點: <input type="text" name="" id="" value="" onfocus="testOnfocus()" onblur="testOnblur()"/><br /><br />
				失去焦點: <input type="text" name="" id="" value=""  onblur="testOnblur();"/>
	</body>
</html>

 

 

1、給合適的HTML標籤添加合適的事件
    onchange----select下拉框
    onload------body標籤
    單雙擊-------用戶會進行點擊動作的HTML元素
    鼠標事件------用戶會進行鼠標移動操作的。
    鍵盤事件------用戶會進行鍵盤操作的HTML元素。
2、給HTML元素添加多個事件時,注意事件之間的衝突
    舉個栗子:單擊和雙擊
    當事件的觸發條件包含相同部分的時候,會產生事件之間的衝突。
3、事件的阻斷
    當事件所監聽的函數的將返回值返回給事件時:
        false:則會阻斷當前事件所在的HTML標籤的功能
        true:則繼續執行當前事件所在的HTML標籤的功能

4、超鏈接調用js函數
    <a href="javascript:函數名()">調用js函數</a>            

 

 

<html>
	<head>
		<title>js的事件機制二</title>
		<meta charset="UTF-8"/>
			<script type="text/javascript">
			
			//值改變事件
				function testOnchange(){
					alert("我被改變了");
				}
			//單擊事件
				function testOnclick(){
					alert("今天天氣真好,不冷不熱,賊適合學習");
				}
			//雙擊事件
				function testOndblclick(){
					alert("老師說的對");
				}
			//事件的阻斷
				function testA(){
					alert("事件的阻斷");
					return true;
				}
			//超鏈接調用js函數
				function testHref(){
					alert("我是超鏈接調用");
				}
			
			
		</script>
	</head>
	<body>
		<h3>js的事件機制二</h3>
		<hr />
		值改變事件: <input type="text" name="" id="" value="" onchange="testOnchange();"/>
		<br /><br />
		<select name="" id="" onchange="testOnchange();">
			<option value="">北京</option>
			<option value="">上海</option>
			<option value="">廣州</option>
		</select>
		<hr />
		事件的衝突:<br />
			<input type="button" name="" id="" value="事件的衝突" onclick="testOnclick()" ondblclick="testOndblclick()"/>
		<hr />
		事件的阻斷:<br />
			<a href="http://www.baidu.com" target="_blank" onclick="return testA()">百度一下</a>
		<hr />
		超鏈接調用js函數:
			<a href="javascript:testHref()">調用js函數</a>
	</body>
</html>


       

 

 

(本文來自尚學堂JS視頻)
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章