簡介在JavaScript瀏覽器事件

java-script-browser-events

概觀: 在這篇文章中,我們將討論關於JavaScript中的瀏覽器事件. 因為他們執行大多數任務Java腳本的事件是非常重要的. 另外重要的一點是瀏覽器的兼容性. 作為Java腳本嵌入在HTML文件, Java腳本的執行是依賴於瀏覽器. Java腳本也足夠成熟來處理瀏覽器事件.

介紹:
瀏覽器事件是從瀏覽器到應用程序的情況下執行的動作的信號. 這些事件是下列類型的

  • DOM事件: 這些由DOM元素例如啟動. 點擊元素時被觸發click事件或當鼠標指針在元素上盤旋鼠標懸停事件被觸發. 這些事件與文檔連接的Java腳本代碼.
  • 窗口事件: 這些都是當調整瀏覽器窗口啟動.









什麼是事件?
一個事件可以被定義為一個操作/工作發送一個信號以Java腳本. 現在,Java腳本響應某些事件執行. 但該事件應註冊發送信號到相應的Java腳本組件. 以下是一些事件.

窗口事件: 當調整瀏覽器窗口中啟動這些事件.
DOM事件: 這些都是當一個DOM元素執行某些操作啟動.
其他事件: 這些事件被考慮所有其它類型的事件的除了上述兩個.

事件處理程序: 我們必須明白,有Java和Java腳本之間有很大的區別. 在java, 多線程是可能的,但Java腳本事件是單線程. 因此,事件處理程序是順序執行. 為了澄清, 讓我們假設一個用戶執行了兩個事件, 鼠標懸停,然後鼠標移動. 因此,鼠標懸停事件將首先執行. 一旦第一個事件完成, mousemove事件會得到執行.

如果一個腳本必須針對事件執行的操作, 它應該有關聯到它的函數. 這些功能被稱為事件處理程序. 通常,這些函數的命名格式 - 上 EVENT_NAME例如. 的onclick等. 在Java腳本事件處理程序是單線程的順序執行. 因此,如果兩個事件發生在同一時間, 他們的處理程序將相繼執行一條. 有很多種方法,使事件處理程序分配. These are.








使用HTML標籤: 事件處理程序可以直接使用上事件屬性相關聯的標記.

Listing 1: Event handler using html tag

[Code]

<輸入ID = “B1” 值= “點我” 的onclick = “警報('謝謝! 我點擊. &#8216;); ” 類型= “鈕” />

[/Code]
當執行該代碼, 我們看到了一個按鈕,一個標籤 – '點我'. 如果用戶點擊這個按鈕提示窗口,一條消息 – 謝謝! 我點擊. 我們還可以調用事件處理函數. 考慮下面的代碼

Listing 2: 使用功能的事件處理程序
[Code]

<!DOCTYPE HTML>
<HTML>
<頭>
<腳本類型=”文/ JavaScript的”>
function count_rabbits() {
為(VAR I = 1; 我 <= 3; 我 ) {
警報( “兔子 “+1 ” 的帽子!” )
}
}
</腳本>
</頭>
<體>
<INPUT TYPE = “鈕” 的onclick = “count_rabbits()” 值= “兔子伯爵!”/>
</體>

 

</HTML>[/Code]到綁定事件的另一方法是使用this.innerHTML哪裡此指的是當前元素. 下面的代碼說明了這一點Listing 3: 使用this.innerHTML事件處理

[Code]

<按鈕的onclick = “警報 ( this.innerHTML )”> 點擊這裡給我看我 </鈕>

[/Code]

使用DOM對象屬性: 在這裡,分配使用屬性做 – 的OnEvent. 在這種情況下,我們需要首先獲取元素,然後處理程序分配給屬性的OnEvent. The following code is an example of setting a click handler to the element with id ‘myId’

Listing 4: 使用DOM對象屬性事件處理

[Code]

<輸入ID = “我的身份” 類型= “鈕” 值= “按我”/>

<腳本>

document.getElementById( ‘ 我的身份 ‘ ).的onclick =功能() {

警報('謝謝')

}

</腳本>

[/Code]

這裡以下兩件事,必須以使用此應注意 –

· It is a property, 不是一個屬性,它的名字是一個OnEvent這是大小寫敏感的,應該是小寫.

· The handler should be a function not a String.

當瀏覽器中發現的HTML標記的屬性的OnEvent, 它使用其內容創建了一個函數,並將其分配給該屬性. 所以下面兩個代碼不相同

Listing 5: 僅使用HTML事件處理程序

[Code]

<INPUT TYPE = “鈕” 的onclick = “警報( '點擊!’ )” 值= “按鍵”/>

[/Code]

Listing 6: 使用HTML事件處理 & JS.

[Code]

<INPUT TYPE = “鈕” ID = “鈕” 值= “按鍵”/>

<腳本>

document.getElementById(“按鈕”).的onclick =功能() {

警報('點擊!’)

}

</腳本>

[/Code]

JavaScript的覆蓋處理程序中設置標記. 下面的代碼片段取代了標記處理程序用一個新的

Listing 7: 覆蓋的處理程序集.
[Code]

<輸入類型=”鈕” 的onclick =”警報('之前')” value=”按我”/>

<腳本>

document.getElementsByTagName(“輸入”)[0].的onclick =功能() {

警報('後')

}

</腳本>

[/Code]

使用特殊方法: 在一個複雜的JavaScript應用程序, 其中,不同的接口方式處理公共事件自定義方法用於分配處理器. 微軟提供了一個解決方案,只有IE瀏覽器版本低於工程 9 並與歌劇. 處理程序被分配和分離為下
附加處理程序

Listing 8: 安裝和卸下處理器
[Code]

element.attachEvent( “上” + 事件, 處理器)

[/Code]

刪除處理程序 –

[Code]

element.detachEvent( “上” + 事件, 處理器)

[/Code]

使用附加事件, 我們可以分配多個處理程序,以相同的元素. 下面的代碼片段顯示了這個

Listing 9: 分配多個處理程序,以一個元素.

[Code]

<輸入ID = “myElement” 類型= “鈕” 值= “按我” />

<腳本>

VAR myElement =的document.getElementById( “myElement” )

行事=功能() {

警報( '謝謝!’ )

}

是行業2 =功能() {

警報( '再次感謝!’ )

}

myElement.attachEvent( “點擊時”, 處理器)

myElement.attachEvent( “點擊時”, handler2)

</腳本>

[/Code]

附加的事件沒有通過參數'這個'. 由於按照W3C標準以下處理程序分配工作在今天幾乎都採用所有的瀏覽器.

附加處理程序

Listing 10: 安裝和卸下處理器按照W3C標準
[Code]

element.addEventListener ( 事件, 處理器, 相 )

[/Code]
刪除處理程序
[Code]

元件. removeEventListener ( 事件, 處理器, 相 )

[/Code]








事件相關行動: 我們應採取以下四個動作的照顧,同時處理事件相關的動作

· 註冊事件處理程序: 這可以通過設置的元素的OnEvent屬性例如進行. 的onclick或onkeypress事件等. 這適用於整個瀏覽器,但有我們可以附加只有一個事件處理元素的限制. 所附事件可以在使用detachEvent或removeEventListener類似的方式去除.

· 獲取事件對象: 瀏覽器的大部分傳遞事件對象作為參數傳遞給處理程序. 當用戶點擊鼠標他產生了以下三個事件.

o MOUSEDOWN: 指示鼠標被按下.

o 鼠標鬆開: 指示鼠標被釋放.

o Click: 指示鼠標點擊. 如果這種情況發生在繼承, 這表明雙擊發生.

· Extract information from the object – 第三步是從物體的提取動作有關的信息,並啟動動作.

· Inform about the completion of the event – 這是最後一步. 一旦該事件被成功拍賣事件的結束標記.

Summary: 在結束討論,我們可以記住以下幾點
· An event is a signal from the front end to the back end.

· Used to initiate an action which should be performed as per the customers need.

· Events are of two types – DOM事件和窗口事件.

· Event handlers are functions associated to events.

· Event handlers are assigned in the following way

o Using HTML tag

o Using DOM object property

o Using special methods

READ MORE JAVA SCRIPT ARTICLES

Java Script Design Patterns

Java腳本設計模式

Java腳本設計模式

CSS3 & JavaScript

CSS3 & JavaScript

Java Script and CSS3 properties

 

標籤:
============================================= ============================================== 在亞馬遜上購買最佳技術書籍,en,電工CT Chestnutelectric,en
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share