事件的傳播是有方向的,當(dāng)點(diǎn)擊一個按鈕時所產(chǎn)生的事件從這個按鈕處開始向上傳播(就像一個水泡從杯底冒上來,這就是之所以叫事件冒泡的原因),但這個事件總是尋找特定的屬性是否有值。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、廣南網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價格優(yōu)惠性價比高,為廣南等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
事件委托也稱為事件代理, 在 jQuery 里面稱為事件委派。 不是每個子節(jié)點(diǎn)單獨(dú)設(shè)置事件監(jiān)聽器,而是事件監(jiān)聽器設(shè)置在其父節(jié)點(diǎn)上,然后利用冒泡原理影響設(shè)置每個子節(jié)點(diǎn)。
第二種事件模型(直接給出jquery實(shí)現(xiàn),js中為attachListener的方式):這種事件模型可以支持綁定多個事件,但寫法不夠簡潔。
解決辦法可以通過事件委托,放過第一次觸發(fā),然后冒泡后的再來處理。
阻止事件冒泡可以防止觸發(fā)父元素上面綁定的事件。比如: 123 1234在parnet上面和child上面都綁定click事件,并且打印1234,當(dāng)你點(diǎn)擊child的div時,會發(fā)現(xiàn)打印兩次。
1、事件冒泡:開始時由最具體的元素接收,然后逐級向上傳播到到 DOM 最頂層節(jié)點(diǎn)。
2、e.stopPropagation()方法不再派發(fā)事件。終止事件在傳播過程的捕獲、目標(biāo)處理或起泡階段進(jìn)一步傳播。調(diào)用該方法后,該節(jié)點(diǎn)上處理該事件的處理程序?qū)⒈徽{(diào)用,事件不再被分派到其他節(jié)點(diǎn)。
3、你再子菜單綁定的函數(shù)里面最后一行寫上return false;就能阻止事件冒泡了。
1、使用stopPropagation() 方法;e.stopPropagation()方法不再派發(fā)事件。終止事件在傳播過程的捕獲、目標(biāo)處理或起泡階段進(jìn)一步傳播。調(diào)用該方法后,該節(jié)點(diǎn)上處理該事件的處理程序?qū)⒈徽{(diào)用,事件不再被分派到其他節(jié)點(diǎn)。
2、事件委托就是利用冒泡的原理,把事件加到父級上,通過判斷事件來源的子集,執(zhí)行相應(yīng)的操作,事件委托首先可以極大減少事件綁定次數(shù),提高性能;其次可以讓新加入的子元素也可以擁有相同的操作。
3、你再子菜單綁定的函數(shù)里面最后一行寫上return false;就能阻止事件冒泡了。
4、標(biāo)準(zhǔn)寫法:利用事件對象里面的 stopPropagation()方法 e.stopPropagation() 非標(biāo)準(zhǔn)寫法:IE 6-8 利用事件對象 cancelBubble 屬性 e.cancelBubble = true;事件委托也稱為事件代理, 在 jQuery 里面稱為事件委派。
5、或者它到達(dá)了對象層次的最頂層,即document對象(有些瀏覽器是window)。
1、事件委托就是利用冒泡的原理,把事件加到父級上,通過判斷事件來源的子集,執(zhí)行相應(yīng)的操作,事件委托首先可以極大減少事件綁定次數(shù),提高性能;其次可以讓新加入的子元素也可以擁有相同的操作。
2、解決方法:把事件注冊到document上面。這樣當(dāng)執(zhí)行事件時,會冒泡觸發(fā)。
3、你再子菜單綁定的函數(shù)里面最后一行寫上return false;就能阻止事件冒泡了。
4、首先:你不想使用的方法恰恰是推薦的最好的方法,為什么不用推薦的方法呢。
1、事件的這幾個特性在0級dom中也是適用的。(2)jquery阻止事件起泡實(shí)例 通過返回false來取消默認(rèn)的行為并阻止事件起泡。
2、return false;事件委托就是利用冒泡的原理,把事件加到父級上,通過判斷事件來源的子集,執(zhí)行相應(yīng)的操作,事件委托首先可以極大減少事件綁定次數(shù),提高性能;其次可以讓新加入的子元素也可以擁有相同的操作。
3、首先:你不想使用的方法恰恰是推薦的最好的方法,為什么不用推薦的方法呢。
4、事件冒泡:開始時由最具體的元素接收,然后逐級向上傳播到到 DOM 最頂層節(jié)點(diǎn)。
5、換句話說,.bind()只能給調(diào)用它的時候已經(jīng)存在的元素綁定事件,不能給未來新增的元素綁定事件(類似于新來的員工收不到快遞)。事件委托可以解決上述兩個問題。