一、跨浏览器的事件对象
var EventUtil = { ///添加事件 addHandler: function (element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); } else if (element.attachEvent) { element.attachEvent("on" + type, handler); } else { element["on" + type] = handler; } }, //获取事件 getEvent: function (event) { return event ? event : window.event; }, //获取事件元素目标 getTarget: function (event) { return event.target || event.srcElement; }, //取消事件的默认行为 preventDefault: function (event) { if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; } }, ///移除事件 removeHandler: function (element, type, handler) { if (element.removeEvenListener) { element.removeEvenListener(type, handler, false); } else if (element.detachEvent) { element.detachEvent("on" + type, handler); } else { element["on" + type] = null; } }, stopPropagation: function (event) { if (event.stopPropagation) { event.stopPropagation(); } else { event.cancelBubble = true; } }};
二、右键菜单demo