jQuery中的live()方法是一種常見(jiàn)的綁定事件方式,它的原理是利用事件冒泡機(jī)制,將事件綁定到document元素上,然后通過(guò)選擇器匹配事件源,在冒泡過(guò)程中觸發(fā)事件處理函數(shù)。
例如,綁定一個(gè)點(diǎn)擊事件到id為"btn"的按鈕:
$(document).live("click", "#btn", function() { // 點(diǎn)擊事件處理函數(shù) });
在這個(gè)例子中,live()方法將click事件綁定到document元素上,而不是直接綁定到#btn元素上,然后在冒泡過(guò)程中,通過(guò)選擇器#btn匹配事件源,從而觸發(fā)事件處理函數(shù)。
由于live()方法采用了事件委托的方式,因此可以動(dòng)態(tài)綁定事件,即使是在頁(yè)面中新增的元素也可以綁定上事件,這是live()方法的一個(gè)重要優(yōu)點(diǎn)。
需要注意的是,live()方法的實(shí)現(xiàn)方式在jQuery1.9版本后已經(jīng)被廢除,取而代之的是on()方法,它的使用方式和live()方法類似,只需將live方法改為on方法即可。
例如,將上述例子改為使用on()方法:
$(document).on("click", "#btn", function() { // 點(diǎn)擊事件處理函數(shù) });
通過(guò)on()方法的方式,也能夠?qū)崿F(xiàn)事件委托,實(shí)現(xiàn)動(dòng)態(tài)綁定事件。