首頁 web前端 js教程 JavaScript的事件綁定(方便不支援js的時候)_javascript技巧

JavaScript的事件綁定(方便不支援js的時候)_javascript技巧

May 16, 2016 pm 05:20 PM
事件綁定

首先,例如我們使用JavaScript來加強我們的網頁,但我們要考慮到,如果使用者的瀏覽器不支援JavaScript,或是使用者disable了JavaScript的功能,那我們的網頁能不能正常顯示呢?例如下面的例子,

複製程式碼 程式碼如下:

其中popUp這個函數是自訂的,新開啟一個視窗來限制URL中的網頁。但是如果當客戶端不支援時,那麼這個網頁就無法正常運作了。所以我們在這樣做的使用,也考慮到更多,使用以下的程式碼就會顯得更合適。

複製程式碼 程式碼如下:

接著,作者以CSS為例子。在我們使用CSS的過程中,我們發現,除了我們使用了把CSS文件給加載進來外,我們沒有在我們的網頁內容中加入任何css相關的程式碼,這樣就能很好的把structure和style分開了,也就是我們的css的程式碼沒有侵入我們的主要程式碼裡面。這樣就算客戶端不知道css,但是我們的主要內容客戶還是可以看到的,我們的內容結構也能在客戶那裡顯示出來。所以JavaScript相當於behavior層,css相當於presentation層。 JavaScript也能像CSS一樣做到沒有侵入性。下面是書上的一個例子。

複製程式碼 程式碼如下:


上面這段程式碼已經能保證在客戶端不支援JavaScript的情況下仍然可以正常的工作,但是上面的程式碼中出現了onclick這樣的event handler。所以現在我們使用像CSS中的方式來完成我們所要的功能。如下:

複製程式碼 程式碼如下:


這樣,我們可以在這個頁面載入完成的時候,執行window.onload中,來偵測哪些是使用了class,然後統一使用popUp的方法。如下碼

複製程式碼 程式碼如下:

var links = document.getElementsByName(MgetElementsByName("a);
for (var i=0 ; i if (links[i].getAttribute("class") == "popup") {
  links[i]. onclick = function() {
   popUp(this.getAttribute("href"));  //Attention use this in  this place. Because this is equals onClick = "popUp(this.href)"/ we cann't use links[i].
   return false;
  }
 }
}

這樣就能更少地侵入我們html程式碼了。

  最後,作者講了我們要做到向後相容和JavaScript的最小化。向後相容,我們可以使用類似if(document.getElementById)來測試這個方法時候存在,存在了才能使用。 JavaScript程式碼的最小化主要是為了減少JavaScript,這樣能加快我們網頁的載入。

  下面我在看書的時候碰到不懂的問題,希望大蝦們能幫忙解決一下。

   對於<script>應該放在哪裡? JavaScript DOM程式設計藝術中所說的,我們可以把<script>放在</script>

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1267
29
C# 教程
1239
24
jquery綁定事件有幾種方式? jquery綁定事件有幾種方式? Nov 09, 2020 pm 03:30 PM

jquery綁定事件有4種方式,分別為:bind()、live()、delegate()和on()方法;其中bind()方法只能針對已經存在的元素進行事件的綁定,而live( )、on()、delegate()皆支援未來新新增元素的事件綁定。

解決UniApp報錯:'xxx'事件未綁定的問題 解決UniApp報錯:'xxx'事件未綁定的問題 Nov 25, 2023 am 10:56 AM

使用UniApp開發應用程式時,可能會遇到以下錯誤提示:'xxx'事件未綁定。這是由於UniApp的事件綁定機制所導致的,需要正確設定才能解決問題。一、問題原因在UniApp中,頁面元件的事件綁定是透過v-on指令完成的。例如,在範本中加入按鈕元件:&lt;button@click="onClick"&gt;點擊我&lt;/butto

怎麼給元素添加事件? JS綁定事件三種方式解析 怎麼給元素添加事件? JS綁定事件三種方式解析 Aug 04, 2022 pm 07:27 PM

javascript作為腳本語言, 可以為頁面上的元素綁定事件,用於在指定事件發生時能自動調用相應的事件處理程序處理事件。那怎麼給元素添加事件?以下這篇文章跟大家介紹一下JS綁定事件三種方式,希望對大家有幫助!

深度探討jQuery事件綁定技術 深度探討jQuery事件綁定技術 Feb 26, 2024 pm 07:36 PM

jQuery是一種流行的JavaScript庫,廣泛用於處理Web頁面的互動性。其中,事件綁定是jQuery的重要功能之一,透過事件綁定可以實現對使用者互動操作的回應。本文將探討jQuery事件綁定技術,並給出具體的程式碼範例。一、事件綁定的基本概念事件綁定是指在DOM元素上新增事件監聽器,以便在特定事件發生時執行指定的操作。在jQuery中,透過選擇器選取需

jquery綁定事件有什麼作用 jquery綁定事件有什麼作用 Mar 20, 2023 am 10:52 AM

jquery綁定事件的作用:將普通的事件event綁定在DOM節點上,當DOM節點選取時,將事件與之綁定,方便使用者提供對應的動作。 jQuery中提供了四種事件綁定方式,分別是bind、live、delegate、on,對應的解除監聽的函數分別是unbind、die、undelegate、off。

Vue應用程式中遇到'click'事件綁定無效怎麼辦? Vue應用程式中遇到'click'事件綁定無效怎麼辦? Jun 24, 2023 pm 03:51 PM

Vue是一款流行的JavaScript框架,用於建立現代的Web應用程式。在Vue中,我們通常會使用指令來實作DOM元素的操作。其中,"click"事件是常用的一個指令之一,然而,在Vue應用程式中,我們經常會遇到"click"事件綁定無效的情況。本文將介紹解決此問題的方法。檢查元素是否存在第一步是確認要綁定"click"事件的元素是否存在。如果元素不存在,

Vue文檔中的事件綁定函數參數的使用方法 Vue文檔中的事件綁定函數參數的使用方法 Jun 20, 2023 pm 02:06 PM

Vue是一個流行的JavaScript框架,它採用了資料驅動的想法來簡化開發流程。 Vue的事件綁定功能是非常強大的,可以對頁面中的各種互動進行處理。在Vue的開發過程中,常常會使用到事件綁定函數參數,本文將詳細介紹這個功能的使用方法。在Vue中,可以使用v-on指令來綁定事件。 v-on指令後面跟著事件名和事件處理函數,例如:&lt;bu

深入剖析jQuery事件綁定技巧 深入剖析jQuery事件綁定技巧 Feb 26, 2024 pm 06:33 PM

jQuery是一種流行的JavaScript庫,它簡化了網頁開發中的許多常見任務,其中包括元素選擇、DOM操作和事件處理。在jQuery中,事件綁定是非常常見且重要的操作之一。本文將詳細探討jQuery中事件綁定的方法,並透過具體的程式碼範例來幫助讀者更好地理解和應用這些方法。 1.bind()方法bind()方法是最傳統、最常用的事件綁定方法之一。它可

See all articles