close
文章出處
var EventUtil = { /* *添加事件處理 參數:元素對象 事件類型 處理函數 */ addHandle: function (element, type, handle) { //dom2級的事件添加 if (element.addEventListener) { element.addEventListener(type, handle, false); } else { //IE 的事件添加 if (element.attachEvent) { element.attachEvent('on' + type, handle); } else { //給元素特性賦值 element['on' + type] = handle; } } }, /* *移除事件處理 參數:元素對象 事件類型 處理函數 */ removeHandle: function (element, type, handle) { //dom2級的事件移除 if (element.removeEventListener) { element.removeEventListener(type, handle, false); } else { //IE的事件移除 if (element.detachEvent) { element.detachEvent('on' + type, handle); } else { //給元素特性賦值為空對象以移除事件 element['on' + type] = null; } } }, //獲得event對象 IE中以參數event對象傳入 Dom中通過window.event來訪問 getEvent: function (event) { return event ? event : window.event; }, //獲得事件的目標 dom中通過event.target獲得 IE中通過event.srcElement getTarget: function (event) { return event.target || event.srcElement; }, //取消事件的默認行為 preventDefault: function (event) { if (event.preventDefault) { //Dom 方法 event.preventDefault(); } else { //設置IE event.returnValue = false event.returnValue = false; } }, //停止事件冒泡 stopPropagation: function (event) { //Dom 方法 if (event.stopPropagation) { event.stopPropagation(); } else { event.cancelBubble = true;; } }, //獲得相關目標對象 getRelatedTarget: function (event) { //Dom 方法 relatedTarget只對mouseover和mouseout事件才包含值 否則 這個值為null if (event.relatedTarget) { return event.relatedTarget; } else { //IE if (event.toElement) { return event.toElement; } else { if (event.fromElement) { return event.fromElement; } else { return null; } } } }, //獲得鼠標按鍵 0表示左鍵 1表示中間輪 2表示右鍵 getButton: function (event) { //是否支持Dom鼠標事件 if (document.implementation.hasFeature('MouseEvents', '2.0')) { return event.button; } else { switch (event.button) { case 0: case 1: case 3: case 5: case 7: return 0; case 2: case 6: return 2; case 4: return 1; } } }, //獲得字符編碼 getCharCode: function (event) { if (typeof event.charCode == 'number') { return event.charCode; } else { return event.keyCode; } } };
![]() |
不含病毒。www.avast.com |
全站熱搜