jQuery的事件處理你知道多少

一、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>

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

總結

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!   

推薦閱讀: