冒泡机制
什么是冒泡?
冒泡作為一種特有事件普遍存在于開發(fā)中,那么,什么是冒泡呢?冒泡是指:當(dāng)一個元素上的事件被觸發(fā)后,比如一個按鈕被觸發(fā)了onclick事件,同樣的事件將在那個元素的所有祖先元素中被觸發(fā)。這一過程就稱為事件冒泡。 并且這個事件會從原始元素開始一直冒泡到DOM樹的最上層。
冒泡事件遵循的順序:
IE中:冒泡事件遵循以下順序:div -> body -> html -> document。
其他瀏覽器:冒泡事件遵循以下順序:div -> body -> html -> document -> window。
需要注意:不是所有的事件都能冒泡。以下事件不冒泡:blur、focus、load、unload
如何阻止冒泡
知道了什么是冒泡事件,也了解到了其在開發(fā)中可能會造成的影響,那么接下來我們需要知道該如何去阻止冒泡事件的發(fā)生。同樣的,阻止冒泡的方法在IE瀏覽器和其他標(biāo)準(zhǔn)瀏覽器的寫法各不相同。
IE瀏覽器中的寫法:event.cancelBubble = true;
其他標(biāo)準(zhǔn)瀏覽器,W3C推薦的寫法:event.stopPropagation();
而在實(shí)際開發(fā)中,我們需要將兩者進(jìn)行兼容,由此會產(chǎn)生下面的兼容寫法:
if(event && event.stopPropagation){event.stopPropagation(); // w3c 標(biāo)準(zhǔn)}else{event.cancelBubble = true; // ie 678 ie瀏覽器}總結(jié)
- 上一篇: 【R语言】批量合并Excel文件,并增加
- 下一篇: python 12306登录_Pytho