JQuery中提供了bind函數(shù)來綁定事件處理程序,但是在某些情況下,我們需要取消事件的綁定。那么如何取消已經(jīng)綁定的事件處理程序呢?下面我們就來了解一下。
// 綁定事件處理程序 $('#btn').bind('click', function(){ alert('clicked'); }); // 取消事件綁定 $('#btn').unbind('click');
如上所示,我們通過調(diào)用unbind函數(shù)來取消綁定的click事件處理程序。當(dāng)然,我們也可以通過off函數(shù)來實(shí)現(xiàn)同樣的效果。
// 綁定事件處理程序 $('#btn').on('click', function(){ alert('clicked'); }); // 取消事件綁定 $('#btn').off('click');
從上述代碼可以看出,off函數(shù)的用法與unbind函數(shù)基本相同,也可以用來取消已綁定的事件處理程序。
需要注意的是,如果我們只想取消綁定某個(gè)特定處理程序而不是全部處理程序,可以通過傳遞處理程序函數(shù)的引用來實(shí)現(xiàn)。
function myHandler() { alert('clicked'); } // 綁定事件處理程序 $('#btn').bind('click', myHandler); // 取消事件綁定 $('#btn').unbind('click', myHandler);
上述代碼中,我們只取消了myHandler函數(shù)的綁定,而其他綁定的處理程序仍然有效。
總之,我們可以利用unbind函數(shù)或off函數(shù)來取消已綁定的事件處理程序,從而更好地管理DOM元素的事件處理。