之前遇到事件冒泡的問題,也去網路搜尋了一番,結果大部分都是一樣的程式碼,貼來用時也不太順利。涉及FF時,可以用 e.stopPropagation(); ,不知怎地我沒用成功。不過我發現FF支援e.cancelBubble = true;的寫法,經測試可行。就把程式碼貼在這裡吧,省得以後到處找。 IE以前版本的相容性還沒測試,用到時再完善吧。
另:
1、cancelBubble(HTML DOM Event 物件屬性) :如果事件句柄想要阻止事件傳播到包容對象,則必須把該屬性設為 true。
2、stopPropagation(HTML DOM Event 物件方法):終止事件在傳播過程的捕捉、目標處理或起泡階段進一步傳播。呼叫該方法後,該節點上處理該事件的處理程序將被調用,事件不再被分派到其他節點。
3、 preventDefault(HTML DOM Event 物件方法)通知瀏覽器不要執行與事件關聯的預設動作。
範例:
function stopBubble(e)
{
if (e && e.stopPropagation)
e.stopPropagation()
else
window.event.cancelBubble=true
}
把這個stopBubble(e)函數放到你想要的阻止事件冒泡函數裡面就可以阻止事件冒泡了