搜尋

HTML 套用 JavaScript

如果說 HTML 負責建構網頁的骨架、CSS 負責網頁的外觀,JavaScript 就是負責網頁的「動作程式」,這篇教學將會介紹 HTML 裡三種套用 JavaScript 的方法。

快速導覽:

所有範例可使用 JS BinCodePenJSFiddle 進行線上實作,或使用筆記本編輯,不用安裝任何軟體 ( 參考:使用 HTML 編輯器 )

什麼是 JavaScript?

JavaScript ( 簡稱 JS ) 是目前廣泛被用於 HTML 的腳本語言 ( scripting language ),由於 JavaScript 的直譯語言特性 ( interpreted language ),不需要事先編譯,就能透過瀏覽器直接執行,JavaScript 時常用來處理網頁的互動、網頁前後端的串接...等。JavaScript 除了在網頁裡運行,也能應用在其他領域 ( 例如後端伺服器 )。

此外,由於 JavaScrpit 的開頭是 Java,也導致初次接觸 JavaScript 的人常會將 JavaScript 和 Java 混淆,當 JavaScript 剛推出時,原本要命名為 LiveScript,但因為行銷策略改名為 JavaScript ( 由於當時 Java 程式語言相當普及 ),便成為了混淆的主因,但 JavaScrpit 和 Java 其實沒有什麼關聯性 ( 語法也差很多 )。

套用 JavaScript 的三種方法

要在 HTML 套用 JavaScript,有下列三種方法:

  • 事件屬性:在支援事件屬性的元件裡,可在事件屬性中撰寫 JavaScript。
  • 內部撰寫:在 HTML 裡的 <script></script> 標籤裡撰寫 JavaScript。
  • 外部載入:透過 HTML 的 <script src="main.js"></script> 標籤載入外部 JavaScript 檔案。

事件屬性

「事件屬性」方法表示「在支援事件屬性的元件裡,可在事件屬性中撰寫 JavaScript」( 參考:事件屬性 ),例如下方的範例,網頁開啟後點擊按鈕,網頁就會彈出一個警告視窗。

<button onclick="alert('ok');">我是按鈕</button>

內部撰寫

「內部撰寫」方法表示「在 HTML 裡的 <script></script> 標籤裡撰寫 JavaScript」( 通常會將 <script></script> 放在要控制元素的後方,或是 body 元素的最下方 ),例如下方的範例,網頁開啟後點擊按鈕,網頁就會彈出一個警告視窗。

<button>我是按鈕</button>
<script>
  document.querySelector('button').addEventListener('click',function(){
    alert('ok');
  })
</script>

外部載入

「外部載入」方法,表示「透過 HTML 的 <script src="main.js"></script> 標籤載入外部 JavaScript 檔案」( 通常會放在 <head></head> 裡或 body 元素的最下方 ),例如下方的範例,網頁開啟後會載入外部的 main.js 檔案,點擊按鈕,網頁就會彈出一個警告視窗。

外部 main.js 內容:

document.querySelector('button').addEventListener('click',function(){
  alert('ok');
})

HTML 內容:

<script src="main.js"></script>`
<button>我是按鈕</button>

小結

通常要做出比較多互動性,或要串接後端伺服器的網頁,內容一定少不了 JavaScript 的輔助,熟悉 HTML 和 CSS 之後,下一步就得開始熟悉 JavaScript 囉~

意見回饋

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

HTML 教學

基本介紹

認識 HTML 使用 HTML 編輯器

基礎知識

HTML 標籤與架構 HTML 格式規範 HTML 縮排與註解 HTML 元素顯示類型 HTML 元素屬性 HTML 特殊字元 HTML 色彩表示法 HTML 尺寸單位 HTML 網址與路徑 HTML 套用 CSS 樣式 HTML 套用 JavaScript 如何觀察 HTML 原始碼

網頁資訊元素

網頁標題 <title> 網頁資訊 <meta> 載入外部資源 <link> 重設根目錄 <base>

常用元素

標題 <h1>~<h6> 段落 <p> 行內容器 <span> 區塊容器 <div> 超連結 <a> 圖片 <img> 換行 <br> 水平分隔線 <hr> 內嵌頁框 <iframe>

文字樣式元素

粗體字 <strong><b> 斜體字 <em><i> 刪除線文字 <del> 插入 ( 底線 ) 文字 <ins> 小型文字 <small> 上標下標 <sup><sub> 凸顯文字 <mark> 引用 <blockquote><q> 預先格式化 <pre> 程式碼內容 <code> 收折文字內容 <details> 標示注音 <ruby><rt> 標示聯絡方式 <address> 標示鍵盤按鍵 <kbd> 標示時間日期 <time> 標示縮寫 <abbr> 標示可換行位置 <wbr>

表格&清單元素

無序清單 <ul><li> 有序清單 <ol><li> 自訂清單 <dl><dt><dd> 表格 <table><tr><td> 表格 <th><caption> 表格 <thead><tbody> 表格 <colgroup><col>

表單元素

表單 <form> 輸入 <input> 按鈕 <button> 多行文字輸入 <textarea> 下拉選單 <select> 進度條 <progress> 欄位標題 <label> 欄位資料清單 <datalist> 表單元素分組 <fieldset>

語意結構元素

頁首區塊 <header> 主要區塊 <main> 章節區塊 <section> 文章區塊 <article> 側邊欄區塊 <aside> 引用區塊 <figure> 導航連結區塊 <nav> 頁尾區塊 <footer>

影音&圖形元素

播放影片 <video> 播放聲音 <audio> 響應式圖片 <picture> 點陣畫布 <canvas> 向量圖形 <svg>

網頁嵌入應用

嵌入 YouTube 影片 嵌入 Google 地圖 嵌入 Google 日曆 嵌入 Google 表單 嵌入 Google 簡報 嵌入 Google 文件 嵌入 Google 試算表 嵌入 Google 試算表圖表 嵌入 Twitter 推文 嵌入 Facebook 粉絲團 嵌入 Facebook 影片