close

部落格轉移,給讀者更好的閱讀體驗,本文網址 : https://janstockcoin.com/blog/

我們今天講的主題是, Javascript - the Basics,大綱如下

 

第一章 : Introduction

第二章 : Primitive Types

第三章 : Object Types

第四章 : Primitives vs Objects

第五章 : Exressions & Control Flows

第六章 : Built in Functions & Methods

第七章 : DOM & Event Handling

第八章 : Tricky Parts "this" & Closure


部落格轉移,給讀者更好的閱讀體驗,本文網址 : https://janstockcoin.com/blog/

第七章 : DOM & Event Handling

講完 JS 就可以來做你網頁與 browser 怎麼做互動

這之前先講一下 JS 能做到甚麼樣的功能

在講怎麼跟 browser 還有 Document 互動之前要先知道有哪些 object 是 browser 主動提供給你的

Document 代表的是 HTML Document

image

 

console.dir(obj)

image

 

 

為什麼較 DOM,你的 HTML 描述的不只是內容,還有描述 element 跟 element 之間的關係

Document 這個 object 他裡面有一個 Root element,這個element底下就是在跑左方的那寫code,<html><head>......。

他是一個樹狀圖,這裡面每一個 note,基本上就代表的是一個 HTML 的 tab

這張圖可以讓你知道 DOM 是在做什麼的

image

image

 

我們通常用JS操作DOM的方法,就是兩個簡單的步驟

1、Select

2、manipulate

image

 

變紅色的字,這樣寫

image

 

DOM 在做 Select 可以有哪些選擇,如果你預期 Selector 要好多 element 那就可以用 querySelectorAll( )

通常這兩個紅色的是比較重要的 querySelector( ) 、querySelectorAll( ) 

queryElementById( )

image

 

我一但把一個 element Selector出來了,常見的操作如下,可以進到style裡面,對屬性做更改

image

 

上面講的是主動操作,但不是互動

這是另外一種操作 DOM 的方式

在 onclick 這個 Event 的時候我要去 call 這個 handing

有兩種方式,一個是 el.onclick

另一個是 el.addEventListener,而 'click' Event是他的 type,他們不一樣的地方是,add 是加進去的,如果上面有 function 他都會作用,不會被覆蓋

image

 

常見的 Even t像是,'click'(是按左鍵),'contextmenu'(是按右鍵),'mouseover','mouseout',......

image

 

e 是 Event 的 object

clientX/Y : Event發生的狀態下滑鼠游標的座標,這座標是相對於 window 視窗的左上角開始的

然後 el.addEventListener ( ...., function(e) ),.... 的部分是,type

image

 

Event Bubbling

這個 Event 發生的時候會一個一個往上傳

像這一個結構是,有三個 <div>  1是綠色,2是藍色,3是紅色,就是綠色包藍色包紅色

若我今天滑鼠移到紅色上面按一下

如果藍色和綠色也有這個 click 的 handle 的話,這樣藍色也會被觸發,綠色也會被觸發,而且他們是有順序的,紅色最先再來藍色再來綠色

e.target 代表的是 originator,就是你當時的 event 在 bubble 最源頭是哪一個 element

那如果你想知道的是,這個當下所 originator 的 element,假設我 originator 在綠色

這時候你可以在 handle 的 function 用 this 或者 e.currentTarget,這兩種方法都可以,這樣可以知道 originator 是誰 current 的 element 是哪一個,你就可以做正確的操作

那不管在哪一層,在 event handle function 寫了 e.stopPropagaton(),這個時候 bubble 就不會再往上跑

image

 

Canceling Events

如果不允許的話,你就 call,e.preventDefault,就是 prevent Default action,那這個 browser 就不會去做他原本要做的事

image

部落格轉移,給讀者更好的閱讀體驗,本文網址 : https://janstockcoin.com/blog/


第一章 : Introduction

第二章 : Primitive Types

第三章 : Object Types

第四章 : Primitives vs Objects

第五章 : Exressions & Control Flows

第六章 : Built in Functions & Methods

第七章 : DOM & Event Handling

第八章 : Tricky Parts "this" & Closure

部落格轉移,給讀者更好的閱讀體驗,本文網址 : https://janstockcoin.com/blog/


痞客邦 : https://warlimit.pixnet.net/blog?utm_source=PIXNET&utm_medium=navbar&utm_term=my_blog

隨意窩 : https://blog.xuite.net/warlimit/blog

Blogspot : https://warlimit.blogspot.com

arrow
arrow
    創作者介紹
    創作者 Warlimit 的頭像
    Warlimit

    jan股幣

    Warlimit 發表在 痞客邦 留言(0) 人氣()