事件冒泡是指當一個元素觸發了某個事件后,其父元素也會依次觸發相同的事件,一直到根元素。在事件冒泡過程中,可以使用cancelBubble和stopPropagation來阻止事件繼續冒泡。
區別如下:
cancelBubble是IE瀏覽器的屬性,而stopPropagation是標準DOM事件的方法。在現代瀏覽器中,推薦使用stopPropagation來阻止事件冒泡。
cancelBubble是一個布爾值屬性,設置為true時可以阻止事件冒泡,設置為false則不會阻止事件冒泡。而stopPropagation是一個方法,調用該方法可以阻止事件冒泡。
stopPropagation除了可以阻止事件冒泡外,還可以阻止事件捕獲、阻止默認行為。而cancelBubble只能用于阻止事件冒泡。
stopPropagation是標準DOM事件的方法,可以在事件處理函數中使用。而cancelBubble則是在事件對象的屬性上,需要在事件處理函數中使用event對象來設置。
綜上所述,cancelBubble和stopPropagation都可以用于阻止事件冒泡,但stopPropagation是標準DOM事件的方法,更加通用,而cancelBubble只適用于IE瀏覽器。因此,在編寫跨瀏覽器的代碼時,推薦使用stopPropagation來阻止事件冒泡。