dom事件與event對象總結


1 事件:就是文檔或瀏覽器窗口中發生的一些特定的交互瞬間。
    tips:js和xhtml的交互是通過當用戶或瀏覽器操作網頁時發生的事件來處理的。

    1.1 事件流:即事件的順序。
        事件冒泡:事件從事件發生的目標最內部開始觸發,向上觸發到最外部(document對象)。
        事件捕獲:事件捕獲正好與冒泡相反。它的事件觸發順序是從最外層的對象(document對象)到最里層的對象。
        DOM事件流:dom同時支持事件捕獲和事件冒泡,但事件捕獲先發生。
    1.2 事件處理程序/監聽器
        定義:為響應一個事件而被調用的函數稱為事件處理程序(DOM中叫事件監聽器)。
        兩種指派方式:1.傳統事件處理程序指派方法。(DOM0)      2.現代事件處理程序指派方法。    
       1.傳統事件處理程序指派方法。(DOM0):為一個事件指派一個事件處理程序。
           1)在js中指定事件處理程序。
        eg:
              var odiv = document.getElementById("div1");
              odiv.onclick = function(){
            alert("我被點擊了");            //事件處理程序的名稱必須全部小寫。
            }
            tips:1.事件處理程序的名稱必須全部小寫。
        2.在綁定事件處理程序到事件屬性時,只能引用函數的名稱,后面不能加括號。若加括號則表示立即執行函數。
        3.不管函數是如何定義的,必須確保在XHTML元素被添加到DOM之前。登記事件處理程序。即js寫到后面,保證節點已經加載定義了。

         2.現代事件處理程序指派方法。:為一個事件指派多個事件處理程序。    //有兼容性問題。
                1)IE瀏覽器
        attachEvent()用於將一個事件處理程序綁定到一個事件。
        detachEvent()用於解除事件處理程序的綁定。

        [object].attachEvent(“事件處理程序的名稱”,函數)
        [object].detachEvent(“事件處理程序的名稱”,函數)
                2)DOM          //即是DOM2
        DOM中使用addEventListener()和removeEvenList() 方法完成事件處理程序指派和刪除的任務。
            有三個參數   事件的名稱,要指派的函數 ,是否處理程序要用在冒泡或捕獲階段。
        第三個參數為true,用在捕獲階段,是則false用在冒泡階段。
        [object].addEventListener(“事件名稱”,函數名,bCapture)
        [object].removeEvenList()(“事件名稱”,函數名,bCapture)
        
        ****(重要)兼容性問題的解決:
        if(document.addEventListener){            //DOM
            odiv.addEventListener("click",fnclick1,true);
            }
        else if(document.attachEvent){            //IE
            odiv.attachEvent("onclick",fnclick1)    
            }

2 Event對象
    tips:Event 對象代表事件的狀態。
        比如事件在其中發生的元素、鍵盤按鍵的狀態、鼠標的位置、鼠標按鈕的狀態。
        事件通常與函數結合使用,函數不會在事件發生前被執行!
    2.1 定位:
        1.ie中:event對象是window對象的一個屬性。
        必須如下執行:
               odiv.onclick = function(){
            var oevent =window.event;
        }
        2.DOM中:event對象只能作為僅有的參數傳給事件處理程序。
        必須如下執行:
             odiv.onclick = function (oEvent){};
    2.2 屬性和方法
        1)ie中event屬性和方法:
        2)dom中event屬性和方法:
        
3 事件類型:
    1.鼠標事件:click     dbclick    mousedown    mouseout        mouseover    mouseup        mousemove
    2.鍵盤事件:keydown    keypress        keyup
    3.HTML事件:load     unload    change    scroll    focus    blur


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM