DIV CSS 佈局教程網

7.5 表單事件
編輯:jQuery基礎知識     

在jQuery中,常用的表單事件有4種:

  • (1)focus()事件;
  • (2)blur()事件;
  • (3)change()事件;
  • (4)select()事件;

下面我們一一給大家介紹。

一、focus()和blur()

在jQuery中,focus()和blur()這2個事件往往都是配合使用。例如。在用戶在文本框輸入信息時,將光標放在文本框中,文本框會獲取焦點。當文本框失去光標時,文本框失去焦點。

onfocus表示獲取焦點觸發的事件,onblur表示失去焦點觸發的事件。

具有獲得焦點和失去焦點事件的元素有3個(一定要記住啊):

  • (1)單行文本框text;
  • (2)多行文本框textarea;
  • (3)下拉列表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 () {
            //獲取文本框默認值
            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()方法,作用是失去焦點時觸發的事件。

二、change()

在jQuery中,當用戶在單行文本框text和多行文本框textarea輸入文本時,由於文本框內字符串的改變將會觸發onchange事件。此外,在下拉列表select中一個選項的狀態改變後也會觸發onchange事件。

具有獲得onchange事件的元素有3個:

  • (1)單行文本框text;
  • (2)多行文本框textarea;
  • (3)下拉列表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 () {
            $("#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>

在浏覽器預覽效果如下:

分析:

當我們在文本框輸入字符,然後讓文本框失去焦點,即可看到統計字符串的長度值。

三、select()

在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中,常用的表單事件如下:

  • (1)focus()和blur()
  • (3)change()
  • (4)select()

3、jQuery表單事件跟JavaScript表單事件本質是一樣的,只不過jQuery全部把這些表單事件封裝了一遍,然後使用自己的語法罷了。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved