【學習點滴-js】js 中事件對象封裝。

來源:互聯網
上載者:User

由於瀏覽器的差異。事件中的一些處理不得不出現大量這樣類似的代碼  var event = event?event:window.event;

這當然不是我們想要的,於是需要把常見的事件處理封裝起來,便於我們方便地使用。

javascript 進階程式設計中封裝代碼如下:

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;}},/* 擷取event對象的引用 */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(){if(element.removeEventListener){element.removeEventListener(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;}},/* 擷取相關元素 */getRelatedTarget : function(event){if(event.relatedTarget){return event.relatedTarget;}else if(event.toElement){return event.toElement;}else if(event.fromElement){return event.fromElement;}else{return null;}},/*擷取按鍵編碼*/getCharCode : function(event){return (typeof event.charCode == "number")?event.charCode:event.keyCode;},//擷取剪下板資料getClipboardText:function(event){var clipboardData = window.clipboardData || event.clipboardData;return clipboardData.getData("text");}};

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.