不同的瀏覽器之間存在兼容問題,在IE與標准瀏覽器之間存在很大的差異,所以在實現阻止瀏覽器默認行為和阻止事件冒泡就要考慮要它們之間的不同
/**
* 取消冒泡
* @param {事件} e
*/
function cancelBubble(e){
if(e.stopPropagation){
// w3c的方法取消冒泡
e.stopPropagation();
}else{
// 使用IE的方式來取消冒泡
e.cancelBubble=true;
}
}
/**
* 阻止瀏覽器默認行為
* @param {事件} e
*/
function preventDefault(e){
// 先判斷是否支持w3c標准方式,否則采用IE解決方案
if(e.preventDefault){
// w3c的方法是e.preventDefault()
e.preventDefault();
}else{
// IE則使用的是e.returnValue=false
e.returnValue=false;
}
}