在使用jQuery綁定事件的時(shí)候,有些情況下事件需要多次觸發(fā)才能達(dá)到預(yù)期的效果。這時(shí)候我們就需要使用jquery on多次觸發(fā)。
$(document).on('click', 'button', function(){ console.log('click'); });
上面的代碼就是在document上綁定一個(gè)click事件,當(dāng)其中一個(gè)button被多次點(diǎn)擊時(shí),就會(huì)觸發(fā)多次click事件。
還有一個(gè)實(shí)現(xiàn)方式是在事件函數(shù)內(nèi)部再次綁定事件,如下:
$(document).on('click', 'button', function(){ console.log('click'); $(this).on('click', function(){ console.log('click again'); }); });
上面的代碼綁定了一個(gè)二級(jí)的click事件,在第一次點(diǎn)擊時(shí)會(huì)觸發(fā)一次click,第二次點(diǎn)擊時(shí)會(huì)觸發(fā)一次click again。
在使用jquery on多次觸發(fā)時(shí)需要注意,多次觸發(fā)容易引起性能問(wèn)題,需要在適當(dāng)?shù)臅r(shí)候解綁事件,如下:
$(document).on('click', 'button', function(){ console.log('click'); $(this).on('click', function(){ console.log('click again'); $(this).off('click'); }); });
在內(nèi)部綁定事件的同時(shí),使用off方法解綁之前的事件,可以有效的提升性能。
下一篇流星效果css