/** * 外观模式 * 为繁杂的操作提供干净的接口 */ //阻止事件的默认行为和冒泡 /** * 终止事件冒泡 * stopPropagation() * preventDefault() * 对以上两个操作进行外观封装,获取一个干净的接口。 */ var myEvent = { stop: function(e) { e.stopPropagation(); e.preventDefault(); } }; //跨浏览器封装 var myEvent = { stop: function(e) { //其它浏览器 (typeof e.stopPropagation === 'function') && e.stopPropagation(); (typeof e.preventDefault === 'function') && e.preventDefault(); //ie浏览器 (typeof e.returnValue === 'boolean') && (e.returnValue = false); (typeof e.cancelBubble === 'boolean') && (e.cancelBubble = false); } }