• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答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
    主站蜘蛛池模板: 国产日韩精品在线| 国产精品综合久成人| 92国产精品午夜福利免费| 亚洲精品无码专区在线播放| 99精品电影一区二区免费看| 欧产日产国产精品精品| 久久久WWW成人免费精品| 久久精品成人国产午夜| 精品无码久久久久国产| 无码国模国产在线无码精品国产自在久国产 | 精品人妻少妇一区二区三区| 亚洲日本精品一区二区| 98视频精品全部国产| 蜜芽亚洲av无码精品色午夜| 亚洲综合国产精品第一页| 亚洲国产精品人人做人人爱| 精品国产免费人成网站| 国产成人精品午夜福麻豆| 久久国产精品久久久| 国产成人精品免费视频动漫| 国内精品久久久久久99蜜桃| 无码国产精品一区二区免费vr| 亚洲国产精品成人| 欧美精品黑人粗大欧| 精品人妻少妇一区二区三区| 精品一区二区三区四区在线| 国内精品久久久久久不卡影院| 国产精品成人无码久久久久久| 2020最新久久久视精品爱| 午夜精品免费在线观看| 午夜精品美女自拍福到在线| 色综合久久综精品| 91精品国产成人网在线观看| 69堂午夜精品视频在线| 99久久精品免费看国产| 国产成人精品一区在线| 国产情侣大量精品视频| 好湿好大硬得深一点动态图91精品福利一区二区| 91久久精品电影| 国产视频精品免费视频| 久久久久久国产精品免费免费|