JavaScript進階之事件
1.什麼是事件
JavaScript 建立動態頁面。事件是可以被 JavaScript 偵測到的行為。 網頁中的每個元素都可以產生某些可以觸發 JavaScript 函式或程式的事件。
比如說,當使用者單擊按鈕或者提交表單資料時,就發生一個滑鼠單擊(onclick)事件,需要瀏覽器做出處理,返回給使用者一個結果。
主要事件表:
2.滑鼠單擊事件( onclick )
onclick是滑鼠單擊事件,當在網頁上單擊滑鼠時,就會發生該事件。同時onclick事件呼叫的程式塊就會被執行,通常與按鈕一起使用。
比如,我們單擊按鈕時,觸發 onclick 事件,並呼叫兩個數和的函式add2()。程式碼如下:
<html>
<head>
<script type="text/javascript">
function add2(){
var numa,numb,sum;
numa=6;
numb=8;
sum=numa+numb;
document.write("兩數和為:"+sum); }
</script>
</head>
<body>
<form>
<input name="button" type="button" value="點選提交" onclick="add2()" />
</form>
</body>
</html>
注意: 在網頁中,如使用事件,就在該元素中設定事件屬性。
3.滑鼠經過事件(onmouseover)
滑鼠經過事件,當滑鼠移到一個物件上時,該物件就觸發onmouseover事件,並執行onmouseover事件呼叫的程式。
現實滑鼠經過”確定”按鈕時,觸發onmouseover事件,呼叫函式info(),彈出訊息框,程式碼如下:
執行結果:
4.滑鼠移開事件(onmouseout)
滑鼠移開事件,當滑鼠移開當前物件時,執行onmouseout呼叫的程式。
當把滑鼠移動到”登入”按鈕上,然後再移開時,觸發onmouseout事件,呼叫函式message(),程式碼如下:
執行結果:
5.游標聚焦事件(onfocus)
當網頁中的物件獲得聚點時,執行onfocus呼叫的程式就會被執行。
如下程式碼, 當將游標移到文字框內時,即焦點在文字框內,觸發onfocus 事件,並呼叫函式message()。
執行結果:
6.失焦事件(onblur)
onblur事件與onfocus是相對事件,當游標離開當前獲得聚焦物件的時候,觸發onblur事件,同時執行被呼叫的程式。
如下程式碼, 網頁中有使用者和密碼兩個文字框。當前游標在使用者文字框內時(即焦點在文字框),在游標離開該文字框後(即失焦時),觸發onblur事件,並呼叫函式message()。
執行結果:
7.內容選中事件(onselect)
選中事件,當文字框或者文字域中的文字被選中時,觸發onselect事件,同時呼叫的程式就會被執行。
如下程式碼,當選中使用者文字框內的文字時,觸發onselect 事件,並呼叫函式message()。
執行結果:
8.文字框內容改變事件(onchange)
通過改變文字框的內容來觸發onchange事件,同時執行被呼叫的程式。
如下程式碼,當使用者將文字框內的文字改變後,彈出對話方塊“您改變了文字內容!”。
執行結果:
9.載入事件(onload)
事件會在頁面載入完成後,立即發生,同時執行被呼叫的程式。
注意:
1. 載入頁面時,觸發onload事件,事件寫在標籤內。
2. 此節的載入頁面,可理解為開啟一個新頁面時。
如下程式碼,當載入一個新頁面時,彈出對話方塊“載入中,請稍等…”。
執行結果:
10.解除安裝事件(onunload)
當使用者退出頁面時(頁面關閉、頁面重新整理等),觸發onUnload事件,同時執行被呼叫的程式。
注意:不同瀏覽器對onunload事件支援不同。
如下程式碼,當退出頁面時,彈出對話方塊“您確定離開該網頁嗎?”。
執行結果:(IE瀏覽器)
11.程式設計練習
使用JS完成一個簡單的計算器功能。實現2個輸入框中輸入整數後,點選第三個輸入框能給出2個整數的加減乘除。
提示:獲取元素的值設定和獲取方法為:例:賦值:document.getElementById(“id”).value = 1; 取值:var = document.getElementById(“id”).value;
任務
第一步: 建立構建運算函式count()。
第二步: 獲取兩個輸入框中的值和獲取選擇框的值。
提示:document.getElementById( id名 ).value 獲取或設定 id名的值。
第三步: 獲取通過下拉框來選擇的值來改變加減乘除的運演算法則。
提示:使用switch判斷運演算法則。
第四步: 通過 = 按鈕來呼叫建立的函式,得到結果。
注意: 使用parseInt()函式可解析一個字串,並返回一個整數。
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
var a=parseInt(document.getElementById("txt1") .value);
//獲取第一個輸入框的值
var b=parseInt(document.getElementById("txt2") .value);
//獲取第二個輸入框的值
var ab=document.getElementById("select") .value;
//獲取選擇框的值
//獲取通過下拉框來選擇的值來改變加減乘除的運演算法則
var c=0;
switch(ab){
case "+":
c=a+b;
break;
case "-":
c=a-b;
break;
case "*":
c=a*b;
break;
case "/":
c=a/b;
break;
}
document.getElementById("fruit").value = c;
//設定結果輸入框的值
}
</script>
</head>
<body>
<input type='text' id='txt1' />
<select id='select'>
<option value='+'>+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type='text' id='txt2' />
<input type='button' value=' = ' /> <!--通過 = 按鈕來呼叫建立的函式,得到結果-->
<input type='text' id='fruit' onclick="count()"/>
</body>
</html>
相關文章
- javascript 進階之 - PromiseJavaScriptPromise
- JavaScript進階之繼承JavaScript繼承
- JavaScript進階之原型鏈JavaScript原型
- JavaScript進階之(一) this指標JavaScript指標
- JavaScript進階JavaScript
- JavaScript進階之函式柯里化JavaScript函式
- 前端進階之 Javascript 抽象語法樹前端JavaScript抽象語法樹
- JavaScript進階之模擬new Object()過程JavaScriptObject
- JavaScript進階之模擬new Object過程JavaScriptObject
- JavaScript進階之模擬call,apply和bindJavaScriptAPP
- 前端入門13-JavaScript進階之原型前端JavaScript原型
- 前端入門15-JavaScript進階之原型鏈前端JavaScript原型
- 前端入門19-JavaScript進階之閉包前端JavaScript
- 前端入門16-JavaScript進階之EC和VO前端JavaScript
- React 進階(四)事件詳解React事件
- Java進階09 事件響應Java事件
- JavaScript進階教程日記JavaScript
- 自定義View事件之進階篇(四)-自定義Behavior實戰View事件
- Web前端進階之JavaScript模組化程式設計知識Web前端JavaScript程式設計
- Java進階學習之事件響應Java事件
- JavaScript 複習之各類事件(一)JavaScript事件
- JavaScript 複習之各類事件(二)JavaScript事件
- 自定義View事件之進階篇(一)-NestedScrolling(巢狀滑動)機制View事件巢狀
- 【進階1-4期】JavaScript深入之帶你走進記憶體機制JavaScript記憶體
- MDN之JavaScript-高階(二)【Concurrency model and Event Loop併發模型與事件迴圈】JavaScriptOOP模型事件
- Django 進階之 celeryDjango
- 前端進階之困前端
- JavaScript正規表示式進階指南JavaScript
- 【JavaScript高階進階】JavaScript變數/函式提升的細節總結JavaScript變數函式
- 陪你一起學習之javascript事件JavaScript事件
- JavaScript 複習之 事件模型 和 Event物件JavaScript事件模型物件
- JavaScript事件JavaScript事件
- JavaScript 事件JavaScript事件
- 高階前端的進階——CSS之flex前端CSSFlex
- 前端筆記之JavaScript(十)深入JavaScript節點&DOM&事件前端筆記JavaScript事件
- 進擊的 JavaScript(六) 之 thisJavaScript
- 4、JavaScript進階篇①——基礎語法JavaScript
- 【進階 6-1 期】JavaScript 高階函式淺析JavaScript函式
- .NET進階篇02-Delegate委託、Event事件事件