首頁 web前端 html教學 Html的a標籤中href和onclick用法區別以及優先級別

Html的a標籤中href和onclick用法區別以及優先級別

Jun 09, 2018 pm 05:01 PM
a a標籤 href onclick

本文主要分享一篇關於Html A標籤中href和onclick用法、區別、優先級別,具有很好的參考價值,有需要了解的朋友可以看看

如果不設定href屬性在IE6下面會不回應hover。雙擊後會選取標籤的父容器而非這個一a標籤(IE下方都存在這一問題)。

程式碼如下 

1

<a href="javascirpt:fn(this)"> <a onclick="fn(this)">

登入後複製

假定我們有個fn方法,需要取到這個元素,第一個方法傳入的this是空值。


所以,比較建議的寫法是

#程式碼如下

1

<a href="javascript:void(0)" onclick="fn(this)">

登入後複製

下面程式碼則執行了subgo()函數,

程式碼如下

1

<a href="javascript:void(0)" onclick="subgo()">点我</a>

登入後複製

在這裡,javascript:void(0),沒啟實質上的作用,它只是一個死鏈接,執行的函數是subgo()。

程式碼如下

1

<a href="http://blog.163.com/wb_zhaoyuwei/blog/#" onclick="subgo()">点我</a>与<a href="javascript:void(0)" onclick="subgo()">点我</a>区别。

登入後複製

實際上#包含了一個位置資訊預設的錨是#top 也就是網頁的上端,而javascript:void(0) 僅僅表示一個死鏈接,沒有任何資訊.所以呼叫腳本的時候最好用void(0)

href一般是指向一個URL位址,也可以呼叫javascript ,如href="javascript:xxx();",文檔中推薦這樣寫:

程式碼如下

1

<a href="http://www.jb51.net/zhongxing/U880/ javascript:void(0)" onclick="xxx();">xx</a>

登入後複製

但是這種方法在複雜環境有時會產生奇怪的問題,盡量不要用javascript:協定做為A的href屬性,這樣不僅會導致不必要的觸發window .onbeforeunload事件,在IE裡面更會使gif動畫圖片停止播放。

我們知道連結的onclick 事件先執行,其次是href 屬性下的動作(頁面跳轉,或javascript 偽連結),如果不想執行href 屬性下的動作執行,onclick 需要要回傳false ,一般是這樣寫onclick="xxx();return false;".

TabPane的JS源碼,由於onclick沒有回傳FALSE,當IFRMAE中關閉TABPANE時會導致href執行,頁面顯示有問題。解決辦法就是將下面程式碼複製到使用TAB的JSP中。

Html A標籤中href 與onclick 同時使用的問題優先順序

##1 順序

#ie 6 : href 先觸發onclick 後觸發

其他瀏覽器先觸發onlick 後觸發href

2 href="javascript: xxx()"

#不能傳入this作為參數

onclick可以

程式碼如下

1

<a href="javascript:alert(&#39;href event&#39;);" onclick="clickevent(this);">

登入後複製

3 優先觸發的方法如果傳回false 導致後一個事件不被觸發

例如

程式碼如下

1

<a href="javascript:alert(&#39;href event&#39;);" onclick="clickevent(this); return false;">

登入後複製

4

會導致頁面定位到書籤位置,

5

由於1和4 的原因

在ie6 下同時有

6 總結:

1) 在不需要傳遞this作為方法的參數時候,推薦

#只使用href="JavaScript: "

2) 若需要使用this參數,建議

程式碼如下

 

如下面一個列子。

我們需要A在第一次和第二次點擊的時候訪問href 第3次以後的就訪問另一個地址

代碼如下

1

2

3

4

5

6

7

8

9

10

11

12

13

var href=0

function clicka(obj)

{

 if (href==2)

 {

 obj.href="http://www.baidu.com?qc";

 }else

 {

 href++;

 }

 return true;

}

 <a href="http://www.jb51.net/" target=_blank id="showa" onclick="clicka(this)"> 开屏高速下载 </a>

登入後複製

#在a標籤的href與onclick中使用javascript的區別

#連結的onclick 事件先執行,其次是href 屬性下的動作(頁面跳轉,或javascript 偽連結);

假設連結中同時存在href 與onclick,如果想讓href 屬性下的動作不執行,onclick 必須得到一個false 的回傳值。不信,你可以將 goGoogle 函數中的 return false 註解掉;

如果頁面過長有滾動條,且希望透過連結的 onclick 事件執行操作。應將它的href 屬性設為javascript:void(0);,而不要是#,這可以防止不必要的頁面跳動;

#如果在連結的href 屬性中呼叫一個有傳回值的函數,目前頁面的內容將被此函數的回傳值取代;

在按住Shift鍵的情況下會有所區別。

今天我遇到的問題,在IE6.0裡以href的形式存取不到parentNode。

盡量不要用javascript:協定做為A的href屬性,這樣不僅會導致不必要的觸發window.onbeforeunload事件,在IE裡面更會使gif動畫圖片停止播放。

就這些,花了不少時間在這上面。

[緣由]

用CheckBoxList控制項時想實現在每個checkbox後面再加連結的功能,點連結實作一些功能之外,還要把checkbox選取。

程式碼如下

1

2

<input type="checkbox" name="chk" id="chk">

<label for="chk">选中它<a onclick="this.parentNode.click();" href="http://luwenxiang1990.blog.163.com/blog/#" style="border:solid 1px blue;">[label中的链接]</a></label>

登入後複製
最後用parentNode來實現的。

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

HTML的a標籤href屬性指定相對路徑與絕對路徑的用法講解

以上是Html的a標籤中href和onclick用法區別以及優先級別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++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教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
index.html是什麼文件? index.html是什麼文件? Feb 19, 2024 pm 01:36 PM

index.html代表網頁的首頁文件,是網站的預設頁面。當使用者造訪一個網站時,通常會先載入index.html頁面。 HTML(HypertextMarkupLanguage)是一種用來建立網頁的標記語言,index.html也是一種HTML檔。它包含網頁的結構和內容,以及用於格式化和佈局的標籤和元素。下面是一個範例的index.html程式碼:&lt

src和href是什麼意思 src和href是什麼意思 Aug 16, 2023 pm 05:00 PM

src和href分別是,1、src是source的縮寫,用來指定外部資源的路徑,通常用於嵌入外部文件,例如圖片、音訊、視訊等,src屬性一般用在img、script、iframe等標籤上;2、href是hypertext reference的縮寫,用於指定超連結的目標資源的路徑,通常用於連結到外部文件或其他頁面,href屬性一般用在a、link等標籤上。

css怎麼去掉a標籤自帶顏色 css怎麼去掉a標籤自帶顏色 Apr 25, 2024 pm 05:42 PM

若要移除 a 標籤自帶顏色,可使用下列方法:使用 CSS 的 color 屬性指定文字顏色。使用 CSS 的 link-color 屬性指定連結顏色。使用 CSS 的 text-decoration 屬性去除底線和預設文字顏色。使用 CSS 的 hover 顏色屬性來變更滑鼠懸停時的文字顏色。使用 CSS 的 visited 顏色屬性來變更已造訪的 a 標籤的文字顏色。

怎麼用a標籤跳到另一個頁面 怎麼用a標籤跳到另一個頁面 Sep 11, 2023 pm 04:01 PM

a標籤來建立超鏈接,然後透過a標籤,可以將一個頁面連結到另一個頁面。詳細介紹:要實現頁面跳轉,需要將目標頁面的URL填入href屬性中,URL可以是相對路徑,也可以是絕對路徑,相對路徑是相對於目前頁面的路徑,而絕對路徑是完整的URL地址。

跳到指定頁面的PHP程式碼實作方法 跳到指定頁面的PHP程式碼實作方法 Mar 07, 2024 pm 02:18 PM

在編寫網站或應用程式時,經常會遇到需要跳到指定頁面的需求。在PHP中,我們可以透過幾種方法來實現頁面跳躍。下面我將為您示範三種常用的跳轉方法,包括使用header()函數、使用JavaScript程式碼和使用meta標籤。使用header()函數header()函數是PHP中用來發送原始的HTTP頭部資訊的函數,在實現頁面跳躍時可以結合使用該函數。下面是一個

a標籤屬性有哪些 a標籤屬性有哪些 Nov 24, 2023 am 09:51 AM

a標籤屬性有:1、href;2、target;3、rel;4、download;5、hreflang;6、type。詳細介紹:1、href,定義連結的目標URL,這是「<a>「標籤最常用的屬性,它可以連結到網頁的任何部分,如頁面頂部、特定段落等;2、target,定義連結在哪裡開啟;3、rel,定義連結的關係,這個屬性允許指定目前文件與連結文件之間的關係等等。

jQuery小技巧:快速修改頁面所有a標籤的文本 jQuery小技巧:快速修改頁面所有a標籤的文本 Feb 28, 2024 pm 09:06 PM

標題:jQuery小技巧:快速修改頁面所有a標籤的文字在網頁開發中,我們經常需要對頁面中的元素進行修改和操作。使用jQuery時,有時候需要一次修改頁面中所有a標籤的文字內容,這樣可以節省時間和精力。以下將介紹如何使用jQuery快速修改頁面所有a標籤的文本,同時給出具體的程式碼範例。首先,我們需要引入jQuery庫文件,確保在頁面中引入了以下程式碼:&lt

使用jQuery修改所有a標籤的文字內容 使用jQuery修改所有a標籤的文字內容 Feb 28, 2024 pm 05:42 PM

標題:使用jQuery修改所有a標籤的文字內容jQuery是一款受歡迎的JavaScript庫,被廣泛用於處理DOM操作。在網頁開發中,經常會遇到需要修改頁面上連結標籤(a標籤)的文字內容的需求。本文將介紹如何使用jQuery來實現這個目標,並提供具體的程式碼範例。首先,我們需要在頁面中引入jQuery庫。在HTML檔案中加入以下程式碼:

See all articles