Html代碼如下:jQuery代碼如下:$('#cover').mouseover(function(){$('#inside').click(function(){alert('multipletimes');});});$('#cover_js').mouseover(function(){document.getElementById('inside_js').onclick=function(){alert('justonetime');}});$('#outside').click(function(){alert('justonetime');});id為inside的按鈕的click事件被嵌套在div的鼠標(biāo)事件內(nèi),而id為outside的按鈕則未嵌套,分別對(duì)兩個(gè)按鈕進(jìn)行多次點(diǎn)擊后,inside按鈕綁定的click事件會(huì)進(jìn)行累加,而outside按鈕則仍舊只綁定一個(gè)click事件。id為inside_js的按鈕的click事件也被嵌套在div的鼠標(biāo)事件內(nèi),但是我用javascript實(shí)現(xiàn)click,此時(shí)點(diǎn)擊多次后,只觸發(fā)一個(gè)alert。解決上述問題可以用unbind對(duì)嵌套event進(jìn)行解綁:$('#cover').mouseover(function(){$('#inside').unbind('click').click(function(){alert('multipletimes');});});但是我想知道為什么Jquery嵌套event會(huì)對(duì)事件進(jìn)行累加,從而導(dǎo)致觸發(fā)多次呢?
jQuery 嵌套 event 會(huì)觸發(fā)多次的原因?
元芳怎么了
2019-04-08 11:18:58