1、事件冒泡:開始時由最具體的元素接收,然后逐級向上傳播到到 DOM 最頂層節(jié)點(diǎn)。
成都創(chuàng)新互聯(lián)主營南潯網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP軟件開發(fā),南潯h5微信小程序搭建,南潯網(wǎng)站營銷推廣歡迎南潯等地區(qū)企業(yè)咨詢
2、比如有3個div 一個包裹一個 點(diǎn)擊最里面那個 會觸發(fā)click事件 外面的DIV 一樣會觸發(fā)click事件 最外面的一樣會觸發(fā)click事件 如果你3個div 監(jiān)聽 你就會發(fā)現(xiàn)。。事件的觸發(fā)順序自內(nèi)向外,這就是事件冒泡。
3、什么是冒泡事件?如在一個按鈕是綁定一個”click”事件,那么”click”事件會依次在它的父級元素中被觸發(fā) 。stopPropagation就是阻止目標(biāo)元素的事件冒泡到父級元素。
4、如圖我在第三層捕獲后阻止事件繼續(xù)傳遞,那么后面的log方法不會繼續(xù)執(zhí)行。最終只輸出1-2-3。 我們在使用中多數(shù)情況下只使用冒泡監(jiān)聽。
1、JQuery 提供了兩種方式來阻止事件冒泡。
2、事件的傳播是有方向的,當(dāng)點(diǎn)擊一個按鈕時所產(chǎn)生的事件從這個按鈕處開始向上傳播(就像一個水泡從杯底冒上來,這就是之所以叫事件冒泡的原因),但這個事件總是尋找特定的屬性是否有值。
3、通過返回false來取消默認(rèn)的行為并阻止事件起泡。jQuery 代碼:(form).bind(submit,function() { return false;} );通過使用 preventDefault() 方法只取消默認(rèn)的行為。
return false;事件委托就是利用冒泡的原理,把事件加到父級上,通過判斷事件來源的子集,執(zhí)行相應(yīng)的操作,事件委托首先可以極大減少事件綁定次數(shù),提高性能;其次可以讓新加入的子元素也可以擁有相同的操作。
事件委托是什么?通過事件冒泡,讓子元素綁定的事件冒泡到父元素(或祖先元素)上,然后再進(jìn)行處理。
事件冒泡(IE提出):從最具體的元素接收,然后逐級向上傳播到較為不具體的節(jié)點(diǎn) 事件捕獲:從較為不具體的節(jié)點(diǎn)接收,然后逐級向下到最具體的元素。PS:假設(shè)有一個文檔,節(jié)點(diǎn)為 html→body→div→button 。
通過返回false來取消默認(rèn)的行為并阻止事件起泡。jQuery 代碼:(form).bind(submit,function() { return false;} );通過使用 preventDefault() 方法只取消默認(rèn)的行為。
通過返回false來取消默認(rèn)的行為并阻止事件起泡。jQuery 代碼:復(fù)制代碼代碼如下:(form).bind(submit,function() { return false;} );通過使用 stopPropagation() 方法只阻止一個事件起泡。
e.stopPropagation()方法不再派發(fā)事件。終止事件在傳播過程的捕獲、目標(biāo)處理或起泡階段進(jìn)一步傳播。調(diào)用該方法后,該節(jié)點(diǎn)上處理該事件的處理程序?qū)⒈徽{(diào)用,事件不再被分派到其他節(jié)點(diǎn)。
1、JQuery 提供了兩種方式來阻止事件冒泡。
2、通過一個小例子來解釋 代碼如下: Porschev---Jquery事件冒泡 比如上面這個頁面, 分為三層:divOne是第外層,divTwo中間層,hr_three是最里層; 他們都有各自的click事件,最里層a標(biāo)簽還有href屬性。
3、冒泡事件就是點(diǎn)擊子節(jié)點(diǎn),事件會向上傳遞,最后觸發(fā)父節(jié)點(diǎn),祖先節(jié)點(diǎn)的點(diǎn)擊事件。
4、事件的傳播是有方向的,當(dāng)點(diǎn)擊一個按鈕時所產(chǎn)生的事件從這個按鈕處開始向上傳播(就像一個水泡從杯底冒上來,這就是之所以叫事件冒泡的原因),但這個事件總是尋找特定的屬性是否有值。
5、如在一個按鈕是綁定一個”click”事件,那么”click”事件會依次在它的父級元素中被觸發(fā) 。stopPropagation就是阻止目標(biāo)元素的事件冒泡到父級元素。