1. 程式人生 > >jQuery事件--change([[data],fn])、on(events,[selector],[data],fn)和hover([over,]out)

jQuery事件--change([[data],fn])、on(events,[selector],[data],fn)和hover([over,]out)

   change([[data],fn])

概述

    當元素的值發生改變時,會發生 change 事件。

    該事件僅適用於文字域(text field),以及 textarea 和 select 元素。當用於 select 元素時,change 事件會在選擇某個選項時發生。當用於 text field 或 text area 時,該事件會在元素失去焦點時發生

引數

    fn  在每一個匹配元素的change事件中繫結的處理函式

   

 [data],fn  data:change([Data], fn) 可傳入data供函式fn處理;fn:在每一個匹配元素的change事件中繫結的處理函式

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/jquery-3.1.1.min.js"
></script> <script type="text/javascript"> $(document).ready(function() { $("input").change(function() { var reg = /^[a-zA-Z]+$/; var textValue = $(this).val(); if(!reg.test(textValue)) { $(
"#error").html("<h5 style='color:red'>只能輸入字母!<h5>"); } }); $("#select").change(function() { $("#error").html($("#select option:selected").text()); }); }) </script> </head> <body> <div> <span>字母:</span> <input id="input" type="text" style="width: 150px;" /> <br /> <span>語言:</span> <select id="select" style="width: 150px;"> <option>Java</option> <option>C#</option> </select> </div> <div id="error"></div> </body> </html>

   on(events,[selector],[data],fn)

 概述

     在選擇元素上繫結一個或多個事件的事件處理函式。on()方法繫結事件處理程式到當前選定的jQuery物件中的元素

引數

     events,[selector],[data],fn  

  • events:一個或多個用空格分隔的事件型別和可選的名稱空間,如"click"或"keydown.myPlugin";
  • selector:一個選擇器字串用於過濾器的觸發事件的選擇器元素的後代。如果選擇的< null或省略,當它到達選定的元素,事件總是觸發;
  • data:當一個事件被觸發時要傳遞event.data給事件處理函式;
  • fn:該事件被觸發時執行的函式。 false 值也可以做一個函式的簡寫,返回false
<!DOCTYPE html>
<html>

    <head>
        <meta charset=" utf-8">
        <title></title>
        <style type="text/css">
            div {
                width: 60px;
                height: 60px;
                border: 1px solid green;
                font-size: 12px;
            }
        </style>
        <script type="text/javascript" src="js/jquery-3.1.1.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                var newtext = "這是新文字"
                $("div").on("click", {
                    "mytext": newtext
                }, function(e) {
                    $(this).text(e.data.mytext);
                })
            })
        </script>
    </head>

    <body>
        <div>原來內容</div>
    </body>

</html>

     events-map,[selector],[data]

  • events-map:個用字串表示的,一個或多個空格分隔的事件型別和可選的名稱空間,值表示事件繫結的處理函式;
  • selector:一個選擇器字串過濾選定的元素,該選擇器的後裔元素將呼叫處理程式。如果選擇是空或被忽略,當它到達選定的元素,事件總是觸發;
  • data:當一個事件被觸發時要傳遞event.data給事件處理函式
<!DOCTYPE html>
<html>

    <head>
        <meta charset=" utf-8">
        <title></title>
        <style type="text/css">
            div {
                width: 160px;
                height: 160px;
                border: 1px solid green;
                font-size: 12px;
            }
        </style>
        <script type="text/javascript" src="js/jquery-3.1.1.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                var newtext = "這是新文字"
                $("div").on({
                    click: function(e) {
                        $(this).text(e.data.mytext);
                    }
                }, {
                    "mytext": newtext
                })
            })
        </script>
    </head>

    <body>
        <div>原來內容</div>
    </body>

</html>

   hover([over,]out)

概述

     一個模仿懸停事件(滑鼠移動到一個物件上面及移出這個物件)的方法。這是一個自定義的方法,它為頻繁使用的任務提供了一種“保持在其中”的狀態。

     當滑鼠移動到一個匹配的元素上面時,會觸發指定的第一個函式。當滑鼠移出這個元素時,會觸發指定的第二個函式

引數

     over,out  over:滑鼠移到元素上要觸發的函式;out:滑鼠移出元素要觸發的函式

     out   當滑鼠移到元素上或移出元素時觸發執行的事件函式

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/jquery-3.1.1.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $("#button").hover(function() {
                    $("div").css("background", "red");
                }, function() {
                    $("div").css("background", "green");
                })
            })
        </script>
    </head>

    <body>
        <div style="background-color: red;width: 120px;height: 120px;">
            <button id='button'>點我測試</button>
        </div>
    </body>

</html>