複習JS事件及DOM

來源:互聯網
上載者:User

標籤:move   滑鼠事件   bubble   dom   res   事件流   其他   寫法   hand   

[JS中的事件分類] 1、滑鼠事件:       click/dbclick/mousedown/mousemove/mouseout/mouseover/mouseup   2、鍵盤事件       keydown:鍵盤按下去觸發       keypress:鍵盤按下並鬆開的瞬間       keyup:鍵盤抬起時觸發  [注意事項:(瞭解)]       ①執行順序:keydown-keypress-keyup       ②長按時,會迴圈不斷執行keydown-keypress       ③有keydown事件時,不一定有keyup事件(事件觸發過程,滑鼠移開,就不觸發 )       ④keypress只能捕獲字母、數字、符號鍵,不能捕獲功能鍵;keydown/keyup基本可以捕獲所有功能鍵(特殊除外)       ⑤keypress區分大小寫,keydown和keyup不區分       ⑥keydown/keyup區分主鍵盤和小鍵盤,keypress不區分;   [確定鍵盤觸發按鍵]      ①在觸發函數中傳入參數e,代表按鍵事件      ②通過e.keyCode,確定按鍵Ascii碼值,進而確定按鍵;      ③所有瀏覽器系統的寫法(一般不必要);  var evn=e||event;//取到鍵盤事件 var code=evn.keyCode||evn.which||evn.charCode;//取到按鍵編碼   [JS中的事件流]  1、事件冒泡:當某DOM元素觸發某事件時,會從當前DOM元素開始,逐個觸發其祖先元素的同類型事件,直到DOM根節點; DOM0模型,均為事件冒泡; IE中使用.attachEvent()添加的事件,均為冒泡; 其他瀏覽器,.addEventListener添加的事件,當第三個參數為false時,為冒泡;  2、事件捕獲:當某DOM元素觸發某事件時,會從DOM根節點開始,逐個觸發其祖先元素的同類型事件,直到觸發到當前元素為止; 只有使用.addEventListener添加事件,並設定第三個參數為true時,才進行捕獲;  ↓  當前元素 ↑ ↓  ↑ 冒  父元素   捕 ↓  ↑ 泡 爺爺元素 獲 ↓  ↑  DOM根節點  3、阻斷事件冒泡: IE瀏覽器中:將e.cancelBubble屬性設為true; 其他瀏覽器:調用e.stopPropagation();方法 相容寫法:function myParagraphEventHandler(e) {                                         e = e || window.event;                                              if (e.stopPropagation) {                                                  e.stopPropagation(); //IE以外                                               } else {                                                   e.cancelBubble = true; //IE                                                         }                                              }  3、阻止預設事件: IE瀏覽器中:將e.returnValue屬性設為false; 其他瀏覽器:調用e.preventDefault();方法 相容寫法:function eventHandler(e) {                                         e = e || window.event;                                        // 防止預設行為                                                if (e.preventDefault) {                                        e.preventDefault(); //IE以外                                                 } else {                                        e.returnValue = false; //IE                                                  }                                            }  【DOM樹節點】    DOM節點分為三大類:元素節點、文本節點、屬性節點     文本節點、屬性節點,為元素節點的兩個子節點;     通過getElement系列方法,可以去到元素節點。  【查看節點】     1、getElementById:通過ID擷取唯一的節點;多個同名ID,只會取第一個;     2、getElementsByName:通過Name取到一個數組,包含1到多個節點;使用方式:通過迴圈,取到每一個節點。迴圈次數:從0開始,<數組.length 【查看和設定屬性節點】    1、查看屬性節點: getAttribute("屬性名稱");    2、設定屬性節點: setAttribute("屬性名稱","屬性值");  【JS修改樣式總結】    1、.className : 為元素設定一個新的class名字;    div1.className = "class1";     2、.style : 為元素設定一個新的樣式,注意駝峰命名法;    div1.style.backgroundColor = "red";     3、.style.cssText : 為元素同時修改多個樣式;    div1.style.cssText = "width:100px;height100px;"; 【查看節點】    1、tagName屬性:擷取節點的標籤名;    2、innerHTML:設定或者擷取節點內部的所有HTML代碼;    3、innerText:設定或者擷取節點內部的所有文字; 

複習JS事件及DOM

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.