【转】停止事件冒泡与阻止浏览器的默认行为
1.停止事件冒泡
JavaScript代码
function getEvent() { if (window.event) { return window.event; } func = getEvent.caller; while (func != null) { var arg0 = func.arguments[0]; if (arg0) { if ((arg0.constructor == Event || arg0.constructor == MouseEvent || arg0.constructor == KeyboardEvent) || (typeof (arg0) == "object" && arg0.preventDefault && arg0.stopPropagation)) { return arg0; } } func = func.caller; } return null; } //阻止冒泡 function StopPropagation() { var e = getEvent(); if (window.event) { //e.returnValue=false;//阻止自身行为 e.cancelBubble = true; //阻止冒泡 } else if (e.preventDefault) { //e.preventDefault();//阻止自身行为 e.stopPropagation(); //阻止冒泡 } }
2.阻止浏览器的默认行为
JavaScript代码
//如果提供了事件对象,则这是一个非IE浏览器 if ( e && e.preventDefault ) //阻止默认浏览器动作(W3C) e.preventDefault(); else //IE中阻止函数器默认动作的方式 window.event.returnValue = false; return false;
转自:http://blog.csdn.net/a497785609/article/details/7994829; http://www.webjx.com/javascript/jsajax-7339.html

浙公网安备 33010602011771号