首頁 > 軟體

jQuery的事件處理你知道多少

2022-02-23 19:00:11

一、jQuery的事件處理

1、頁面載入事件

$(document).ready() --- onload

2、事件繫結(bind)

bind(type,[data],fn)

type:表示事件型別(clickmouseovermouseout...)

[data]:可選引數,表示傳遞給事件物件的額外資料

fn:是一個函數(事件處理常式),當事件發生時執行的程式

為每一個匹配元素的特定事件(像click)繫結一個事件處理器函數

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../jq/jquery.js"></script>
</head>
<body>
    <button id="btn">確定</button>
    <script>
        $(function(){
            $('#btn').bind('click',function(){//可以給按鈕繫結其他事件
                alert('事件繫結')
            })
        })
    </script>
</body>
</html>

 顯示效果:點選確定按鈕之後,出現彈窗

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../jq/jquery.js"></script>
</head>
<body>
    <img src="../img/1.jpg" alt="" width="150" height="200">
    <script>
        $(function(){
            //通過滑鼠的懸停、離開事件來改變img的影象
            $('img').bind('mouseover',function(){
                $(this).attr({src:'../img/2.jpg'})//this表示的是img這個元素
            })
            $('img').bind('mouseout',function(){
                $(this).attr({src:'../img/1.jpg'})
            })
        })
    </script>
</body>
</html>

 顯示效果:當滑鼠懸停在圖片上時,顯示的是一個圖片。當滑鼠離開這個圖片時,顯示的是另一張圖片。反覆交替,沒有限制。

3、反繫結事件(unbind)

unbind([type],[data]):刪除繫結的事件

(1)不帶引數:刪除元素上繫結的所有事件

(2)帶引數:[type]表示事件型別

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../jq/jquery.js"></script>
</head>
<body>
    <img src="../img/1.jpg" alt="" width="150" height="200">
    <script>
        $(function(){
            //通過滑鼠的懸停、離開事件來改變img的影象
            $('img').bind('mouseover',function(){
                $(this).attr({src:'../img/2.jpg'})//this表示的是img這個元素
            })
            $('img').bind('mouseout',function(){
                $(this).attr({src:'../img/1.jpg'})
            })
            $('img').unbind('mouseout')//解綁
        })
    </script>
</body>
</html>

 顯示效果:滑鼠離開圖片之後,圖片不會變成1.jpg

4、一次性事件繫結(one)

繫結的事件只能執行一次

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../jq/jquery.js"></script>
</head>
<body>
    <img src="../img/1.jpg" alt="" width="150" height="200">
    <script>
        $(function(){
            //通過滑鼠的懸停、離開事件來改變img的影象
            $('img').bind('mouseover',function(){
                $(this).attr({src:'../img/2.jpg'})//this表示的是img這個元素
            })
            //一次性事件繫結
            $('img').one('mouseout',function(){
                $(this).attr({src:'../img/1.jpg'})
            })
        })
    </script>
</body>
</html>

顯示效果:滑鼠離開圖片後,圖片會變成1.jpg,但是這種變化只會執行一次。第二次離開圖片時,就不會變成1.jpg。

5、模擬滑鼠懸停(hover)

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>    <script src="../jq/jquery.js"></script></head><body>    <div style="width: 200px; height: 200px; background-color: red;"></div>    <script>        $(function(){            $('div').hover(function(){                $(this).css('backgroundColor','pink')            })        })    </script></body></html><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../jq/jquery.js"></script>
</head>
<body>
    <div style="width: 200px; height: 200px; background-color: red;"></div>
    <script>
        $(function(){
            $('div').hover(function(){
                $(this).css('backgroundColor','pink')
            })
        })
    </script>
</body>
</html>

顯示效果:滑鼠懸停在圖片上時,圖片由紅色變為粉色。離開圖片時並不會變回原來的紅色。

總結

本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注it145.com的更多內容!   


IT145.com E-mail:sddin#qq.com