html學習 - jquery事件監聽詳解

來源:互聯網
上載者:User

標籤:bind   live   click   

html學習 - jquery事件監聽詳解

  • html學習 - jquery事件監聽詳解
    • 監聽方法
    • 監聽方法參數解釋
      • click參數
      • 事件自動執行問題解決
    • bind方法
    • live方法

監聽方法

在jquery裡,監聽的方法比較多,用的最多的就是簡單的.click() .onchange() .pressdown() 所以這樣很簡單啊,直接使用就好了,只要符合參數規範就可以了。除了這個還有bind() live() 方法。

而addEventListener()同bind()方法是沒有很大功能上的區別的,是因為bind()方法是jquery為瞭解決瀏覽器的相容性問題而建立的。

監聽方法參數解釋.click()參數

在簡單的監聽方法中例如.click()中,它的參數就只有一個回呼函數,可以:

$(selector).click(function)

其中selector是選取器這個東西在以前有講過, 然後我們舉一個簡單的例子:

$("button").click(function(){  $("p").slideToggle();});

這個就是在按鈕點擊的時候除法裡面的回呼函數,然後讓元素p隱藏的效果。

.bind()的方法我在下面會詳細解釋。

事件自動執行問題解決

這其中不管是簡單的事件監聽方法,還是.bind() .live()等等,都可能會遇到一個問題,就是會自動執行。在我們使用匿名回呼函數的時候不會遇到,但是在使用自己命名的回呼函數就會遇到,例子如下:

$(‘#createImageData‘).click(createImageDataPressed());function createImageDataPressed(event){    alert("click");}

這個代碼就會自動執行,即使不點擊id為createImageData的按鈕,這是因為在click()裡面的函數加了括弧
不添加括弧就不會出現這個問題如:$(‘#createImageData‘).click(createImageDataPressed); 這樣就不會出現自動執行的問題了。

bind()方法

.bind()方法其實並沒有和addEventListener在用法上有很大區別,使用方法為:

$(selector).bind(event,data,function)
event 必須填寫,說明綁定的事件類型
data 可選,用來規定傳遞到函數的額外資料
function 必須填寫,事件響應函數

例子如下:

$("button").bind("click",function(){    $("p").slideToggle();  });

然後.bind()方法還有另外一個使用方法。

$(selector).bind(event:function, event:function, ...);

這種用法就是給某個元素繫結多個事件,例子如下:

$("button").bind({    click:function(){$("p").slideToggle();},    mouseover:function(){$("body").css("background-color","red");},      mouseout:function(){$("body").css("background-color","#FFFFFF");}    });

此代碼來源:W3C

這裡要說一下,就是.bind()方法是只能對頁面上先載入的元素起作用,對於後來產生的元素是不可以的。所以這個時候就需要.live()

live()方法

我們可以把.bind().live()看成同一個東西,不過.live()多了一個功能,是它可以對未來的元素,和馬上要產生的元素還有已經有的元素都起作用,這樣就會方便很多。

大致就以上了。

轉載請註明出處。

html學習 - jquery事件監聽詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.