jQuery中click、on和live是常用的事件綁定方法,它們可以給DOM元素添加事件處理函數(shù),讓指定的事件發(fā)生時執(zhí)行相應(yīng)的處理代碼。下面簡單介紹一下click、on和live的用法和區(qū)別。
// click事件綁定 $(selector).click(function(){ // 處理代碼 }); // on事件綁定 $(selector).on('click', function(){ // 處理代碼 }); // live事件綁定 $(selector).live('click', function(){ // 處理代碼 });
click事件綁定是將事件直接綁定到指定選擇器的DOM元素上,當(dāng)點(diǎn)擊該元素時,就會執(zhí)行綁定的處理函數(shù)。它對于在頁面加載完成后新增的DOM元素?zé)o效。
on事件綁定相比于click事件,支持更多的事件類型,可以綁定多個事件,在jQuery 1.7版本之前,也可以為動態(tài)添加的元素綁定事件處理函數(shù)。on方法的常見用法如下:
// 綁定多個事件 $(selector).on('click mouseenter', function(){ // 處理代碼 }); // 委托事件 $('parentSelector').on('click', 'childSelector', function(){ // 處理代碼 });
與click和on不同,live事件綁定是將事件綁定到document對象上,當(dāng)發(fā)生指定的事件類型(如click)時,首先檢查當(dāng)前目標(biāo)元素是否匹配選擇器,如果匹配則執(zhí)行處理函數(shù),否則冒泡到document對象,繼續(xù)比較是否匹配選擇器。因此,與click和on相比,live方法的優(yōu)點(diǎn)在于可以對動態(tài)添加的元素綁定事件,但也存在一些缺點(diǎn),比如委托事件的性能不如on方法。
因此,在實(shí)際開發(fā)中,應(yīng)根據(jù)具體要求選擇適當(dāng)?shù)氖录壎ǚ椒ā?/p>