在jQuery中,常用的表單事件有4種:
下面我們一一給大家介紹。
在jQuery中,focus()和blur()這2個事件往往都是配合使用。例如。在用戶在文本框輸入信息時,將光標放在文本框中,文本框會獲取焦點。當文本框失去光標時,文本框失去焦點。
onfocus表示獲取焦點觸發的事件,onblur表示失去焦點觸發的事件。
具有獲得焦點和失去焦點事件的元素有3個(一定要記住啊):
舉例:
在線測試
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="../App_js/jquery-1.12.0.min.js"></script>
<script type="text/javascript">
$(function () {
//獲取文本框默認值
var txt = $("#search").val();
//focus()獲取焦點事件
$("#search").focus(function () {
if ($(this).val() == txt) {
$(this).val("");
}
});
//blur()失去焦點事件
$("#search").blur(function () {
if ($(this).val() == "") {
$(this).val(txt);
}
});
})
</script>
</head>
<body>
<input id="search" type="text" value="百度一下,你就知道"/><input id="btn" type="button" value="搜索" />
</body>
</html>
在浏覽器預覽效果如下:
分析:
在這個例子中,當文本框獲取焦點時,文本框提示文字就會消失;當文本框失去焦點後,會判斷是否已經輸入字符串,如果沒有的話,文本框提示文字會重新出現。通過這個例子,大家都能感性地理解“獲取焦點”和“失去焦點”事件是怎麼一回事了。
focus()相當於JavaScript中的onfocus()方法,作用是獲得焦點時觸發的事件。
blur()相當於JavaScript中的onblur()方法,作用是失去焦點時觸發的事件。
在jQuery中,當用戶在單行文本框text和多行文本框textarea輸入文本時,由於文本框內字符串的改變將會觸發onchange事件。此外,在下拉列表select中一個選項的狀態改變後也會觸發onchange事件。
具有獲得onchange事件的元素有3個:
舉例:
在線測試
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="../App_js/jquery-1.12.0.min.js"></script>
<script type="text/javascript">
$(function () {
$("#txt").change(function () {
//這裡的$(this)指的是$("#txt")
var len = $(this).val().length;
$("#num").text(len);
})
})
</script>
</head>
<body>
<textarea id="txt" rows="5" cols="20"></textarea><br />
輸入字符長度為:<span id="num"></span>
</body>
</html>
在浏覽器預覽效果如下:
分析:
當我們在文本框輸入字符,然後讓文本框失去焦點,即可看到統計字符串的長度值。
在jQuery中,當用戶選中單行文本框text或多行文本框textarea的文本時,會觸發select事件。select事件的具體過程是從鼠標按鍵被按下,到鼠標開始移動並選中內容的過程。這個過程並不包括鼠標鍵的放開。
新手很容易把select和change這2個事件搞混,誤以為下拉列表列表項的選中觸發的事件是select。這一點大家要搞清楚:下拉列表列表項的選中觸發的事件是change而不是select。
舉例:
在線測試
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="../App_js/jquery-1.12.0.min.js"></script>
<script type="text/javascript">
$(function () {
$("#txt1").select(function () {
alert("你選中了單行文本框中的內容");
});
$("#txt2").select(function () {
alert("你選中了多行文本框中的內容");
});
})
</script>
</head>
<body>
<input id="txt1" type="text" value="歡迎來到 學習網學習JavaScript入門教程"/><br />
<textarea id="txt2" cols="20" rows="5">歡迎來到 學習網學習JavaScript入門教程</textarea>
</body>
</html>
在浏覽器預覽效果如下:
分析:
當我們選中單行文本框text或多行文本框的內容時都會彈出相應的對話框。
總結1、這一節所學到的事件都是針對表單而言,大家要清楚這一點;
2、在JavaScript中,常用的表單事件如下:
3、jQuery表單事件跟JavaScript表單事件本質是一樣的,只不過jQuery全部把這些表單事件封裝了一遍,然後使用自己的語法罷了。