<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        JavaScript事件對象event用法分析

        來源:懂視網 責編:小采 時間:2020-11-27 22:11:00
        文檔

        JavaScript事件對象event用法分析

        JavaScript事件對象event用法分析:本文實例講述了JavaScript事件對象event用法。分享給大家供大家參考,具體如下: 前面的文章已經介紹了JavaScript為事件指定處理程序的五種方式。 下面繼續介紹JavaScript的事件對象event。 事件對象event包含導致事件的元素、事件的類型以及其他與特定事件相
        推薦度:
        導讀JavaScript事件對象event用法分析:本文實例講述了JavaScript事件對象event用法。分享給大家供大家參考,具體如下: 前面的文章已經介紹了JavaScript為事件指定處理程序的五種方式。 下面繼續介紹JavaScript的事件對象event。 事件對象event包含導致事件的元素、事件的類型以及其他與特定事件相

        本文實例講述了JavaScript事件對象event用法。分享給大家供大家參考,具體如下:

        前面的文章已經介紹了JavaScript為事件指定處理程序的五種方式。

        下面繼續介紹JavaScript的事件對象event。

        事件對象event包含導致事件的元素、事件的類型以及其他與特定事件相關的信息。

        1、DOM中的事件對象

        屬性/方法 類型 說明
        bubbles Boolean 表明事件是否冒泡
        cancelabel Boolean 表明是否可以取消事件的默認行為
        currentTarget Element 事件處理程序當前正在處理事件的那個元素(監聽事件的那個元素)
        defaultPrevented Boolean true表示已經調用了preventDefault()
        detail Integer 與事件相關的細節信息
        eventPhase Integer 調用事件處理程序的階段:1表示捕獲階段,2表示處于目標,3表示冒泡階段
        preventDefault() Function 取消事件的默認行為,cancelable為true才可使用此方法
        stopImmediatePropagation() Function 取消事件的捕獲或冒泡,同時阻止任何事件處理程序被調用
        stopPropagation() Function 取消事件的捕獲或冒泡,bubbles為true才可使用此方法
        target Element 事件的目標
        trusted Boolean true表示事件是瀏覽器生成的,false表示事件是由開發人員通過JavaScript創建的
        type String 事件的類型
        view AbstractView 與事件關聯的抽象視圖,等同于發生事件的window對象

        若直接將事件處理程序指定給了目標元素,則this,currentTargettarget包含相同的值;若事件處理程序存在于按鈕的父節點中,則thiscurrentTarget等于父節點,而target等于按鈕元素。

        在需要通過一個函數處理多個事件時,可以使用type屬性:

        var btn = document.getElementsByTagName("button")[0];
        var handler = function(event) {
         switch(event.type) {
         case "click":
         alert("click");
         case "mouseover":
         alert("mouseover");
         case "mouseout":
         alert("mouseout");
         }
        }
        btn.onclick = handler;
        btn.onmouseover = handler;
        btn.onmouseout = handler;
        
        

        注意:只有在事件處理程序執行期間,event對象才會存在;一旦事件處理程序執行完畢,event對象就會被銷毀。

        2、IE中的事件對象

        訪問IE中的event對象有幾種不同的方式:

        1) 在使用DOM0級方法添加事件處理程序時,通過window.event訪問event對象;

        2) 在使用attachEvent()方法添加事件處理程序時,event對象會作為參數被傳入事件處理程序中,也可以通過window.event訪問event對象;

        3) 在通過HTML特性指定事件處理程序時,還可以通過一個名為event的變量來訪問event對象。

        IE中的事件目標通過srcElement屬性獲取,this不一定等于事件目標:在使用DOM0級方法添加事件處理程序時,this等于事件目標,但在使用attachEvent()方法添加事件處理程序時,this則不等于事件目標。

        屬性/方法 類型 說明
        cancelBubble Boolean 默認為false,但將其設置為true就可以取消事件冒泡,由于IE不支持事件捕獲,因此只能取消事件冒泡,而stopPropagation()則可以同時取消事件捕獲或冒泡
        returnValue Boolean 默認為true,但將其設置為false就可以取消事件的默認行為
        srcElement Element 事件的目標
        type String 事件的類型

        3、跨瀏覽器的事件

        var EventUtil = { 
         addHandler: function(element, type, handler) {
         ......
         }, 
         getEvent: function(event) {
         return event ? event : window.event;
         },
         getTarget: function(event) {
         return enent.target || target.srcElement;
         },
         preventDefault: function(event) {
         if (event.preventDefault)
         event.preventDefault();
         else
         event.returnValue = false;
         },
         removeHandler: function(element, type, handler) {
         ......
         }, 
         stopPropagation: function() {
         if (event.stopPropagation)
         event.stopPropagation();
         else
         event.cancelBubble = true;
         }
        };
        var btn = document.getElementsByTagName("button")[0];
        btn.onclick = function(event) {
         event = EventUtil.getEvent(event);
         EventUtil.preventDefault(event);
         EventUtil.stopPropagation(event);
         alert(event.target.type); // 
        輸出:click }

        PS:關于javascript事件說明可參考本站javascript事件與功能說明大全:http://tools.jb51.net/table/javascript_event

        更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript事件相關操作與技巧大全》、《JavaScript頁面元素操作技巧總結》、《JavaScript操作DOM技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript錯誤與調試技巧總結》

        希望本文所述對大家JavaScript程序設計有所幫助。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JavaScript事件對象event用法分析

        JavaScript事件對象event用法分析:本文實例講述了JavaScript事件對象event用法。分享給大家供大家參考,具體如下: 前面的文章已經介紹了JavaScript為事件指定處理程序的五種方式。 下面繼續介紹JavaScript的事件對象event。 事件對象event包含導致事件的元素、事件的類型以及其他與特定事件相
        推薦度:
        標簽: 事件 js 對象
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 黄色免费在线网站| 18以下岁毛片在免费播放| 日本免费人成视频在线观看| 女性自慰aⅴ片高清免费| 亚洲色婷婷六月亚洲婷婷6月| 亚洲a级在线观看| a一级爱做片免费| 久久久久久久久免费看无码| 国产aⅴ无码专区亚洲av麻豆| 亚洲偷自精品三十六区| 中国好声音第二季免费播放| 我想看一级毛片免费的| 亚洲av无码不卡一区二区三区| 亚洲精品美女久久久久久久| 久久免费公开视频| 免费一级特黄特色大片在线| 亚洲福利一区二区三区| 黄色短视频免费看| 日韩免费视频播播| 亚洲综合综合在线| 99re6在线精品免费观看| 日本视频免费在线| 亚洲乱码卡三乱码新区| 成人电影在线免费观看| 又爽又高潮的BB视频免费看 | 免费一级e一片在线播放| 亚洲精品偷拍无码不卡av| eeuss影院免费92242部| 国产美女被遭强高潮免费网站| 亚洲网站在线播放| a成人毛片免费观看| 免费人成视频x8x8入口| 亚洲高清视频在线| 永久看日本大片免费35分钟| 亚洲日本一区二区三区在线| 看一级毛片免费观看视频| 免费无码黄十八禁网站在线观看| 亚洲国产香蕉碰碰人人| 黄色短视频免费看| 亚洲国产天堂久久综合| 亚洲av日韩精品久久久久久a|