a標(biāo)簽調(diào)用js的方法總結(jié)
a標(biāo)簽點(diǎn)擊事件方法匯總
<a> 標(biāo)簽的 href 屬性用于指定超鏈接目標(biāo)的 URL,href 屬性的值可以是任何有效文檔的相對(duì)或絕對(duì) URL,包括片段標(biāo)識(shí)符和 JavaScript 代碼段。
這里的href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" ,其中javascript:是偽協(xié)議,它可以讓我們通過一個(gè)鏈接來調(diào)用javascript函數(shù).而采用這個(gè)方式
javascript:;可以實(shí)現(xiàn)A標(biāo)簽的點(diǎn)擊事件運(yùn)行時(shí),如果頁面內(nèi)容很多,有滾動(dòng)條時(shí),頁面不會(huì)亂跳,用戶體驗(yàn)更好。
1. a href="javascript:js_method();" rel="external nofollow" rel="external nofollow"
這是平臺(tái)上常用的方法,但是這種方法在傳遞this等參數(shù)的時(shí)候很容易出問題,而且javascript:協(xié)議作為a的href屬性的時(shí)候不僅會(huì)導(dǎo)致不必要的觸發(fā)window.onbeforeunload事件,在IE里面更會(huì)使gif動(dòng)畫圖片停止播放。W3C標(biāo)準(zhǔn)不推薦在href里面執(zhí)行
javascript語句
2. a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" onclick="js_method()"
這種方法是很多網(wǎng)站最常用的方法,也是最周全的方法,onclick方法負(fù)責(zé)執(zhí)行js函數(shù),而void是一個(gè)操作符,void(0)返回undefined,地址不發(fā)生跳轉(zhuǎn)。而且這種方法不會(huì)像第一種方法一樣直接將js方法暴露在瀏覽器的狀態(tài)欄。
3.a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="js_method()"
這種方法跟跟2種類似,區(qū)別只是執(zhí)行了一條空的js代碼。
4.a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="js_method()"
這種方法也是網(wǎng)上很常見的代碼,#是標(biāo)簽內(nèi)置的一個(gè)方法,代表top的作用。所以用這種方法點(diǎn)擊后網(wǎng)頁后返回到頁面的最頂端。
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ></a> 如果頁面有滾動(dòng)條 點(diǎn)擊后網(wǎng)頁后返回到頁面的最頂端
5.a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="js_method();return false;"
這種方法點(diǎn)擊執(zhí)行了js函數(shù)后return false,頁面不發(fā)生跳轉(zhuǎn),執(zhí)行后還是在頁面的當(dāng)前位置。
我看了下taobao的主頁,他們采用的是第2種方法,而alibaba的主頁是采用的第1種方法,和我們的區(qū)別是每個(gè)href里的javascript方法都用try、catch包圍。
綜合上述,在a中調(diào)用js函數(shù)最適當(dāng)?shù)姆椒ㄍ扑]使用:
- a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" onclick="js_method()"
- a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="js_method()"
- a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="js_method();return false;" 我們常用的在a標(biāo)簽中有點(diǎn)擊事件:
- a href="javascript:js_method();" rel="external nofollow" rel="external nofollow"
以上就是關(guān)于a標(biāo)簽調(diào)用js的全部知識(shí)點(diǎn)內(nèi)容,感謝大家對(duì)腳本之家的支持。
相關(guān)文章
javascript getElementsByClassName 和js取地址欄參數(shù)
為了從一大堆HTML代碼中找出我們的樹狀菜單(也許有多個(gè)),我們先來實(shí)現(xiàn)一個(gè)通過className找DOM節(jié)點(diǎn)的方法:getElementsByClassName。這是對(duì)瀏覽器自有DOM方法的一個(gè)簡(jiǎn)單但實(shí)用的擴(kuò)充。2010-01-01Bootstrap入門教程一Hello Bootstrap初識(shí)
Bootstrap,來自 Twitter,是目前很受歡迎的前端框架。Bootstrap是基于 HTML5、CSS3和Javascriopt開發(fā)的。這篇文章主要介紹了基于Bootstrap3實(shí)現(xiàn)漂亮簡(jiǎn)潔的CSS3價(jià)格表(精美代碼版),需要的朋友可以參考下2017-03-03JS如何將當(dāng)前日期或指定日期轉(zhuǎn)時(shí)間戳
這篇文章主要介紹了js將當(dāng)前日期或指定日期轉(zhuǎn)時(shí)間戳超詳細(xì),通過實(shí)例代碼介紹了JS時(shí)間戳轉(zhuǎn)換方式,需要的朋友可以參考下2023-05-05JavaScript DOM節(jié)點(diǎn)操作方式全面講解
DOM(Document Object Model 文檔對(duì)象模型)定義了訪問和操作文檔的標(biāo)準(zhǔn)方法。整個(gè)瀏覽器網(wǎng)頁就是一個(gè)Dom樹形結(jié)構(gòu),這篇文章主要介紹了JavaScript DOM節(jié)點(diǎn)操作方式2022-10-10JS數(shù)組實(shí)現(xiàn)分類統(tǒng)計(jì)實(shí)例代碼
本文通過實(shí)例代碼給大家介紹了js數(shù)組實(shí)現(xiàn)分類統(tǒng)計(jì)的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09根據(jù)選擇不同的下拉值出現(xiàn)相對(duì)應(yīng)的文本輸入框
根據(jù)用戶選擇不同的下拉值,出現(xiàn)相應(yīng)的文本輸入框,在某些情況下比較實(shí)用,本文為大家寫了個(gè),有需求的朋友可以參考下2013-08-08JavaScript中Async/Await通過同步的方式實(shí)現(xiàn)異步的方法介紹
在JavaScript的異步編程中,我們經(jīng)常使用回調(diào)函數(shù)、Promise和 Async/Await來解決異步操作的問題,Async/Await 又是Promise的語法糖,它的出現(xiàn)讓異步編程變得更加直觀和易于理解,本文將詳細(xì)講解Async/Await如何通過同步的方式實(shí)現(xiàn)異步2023-06-06概述javascript在Google IE中的調(diào)試技巧
本篇文章主要是對(duì)javascript在Google IE中的調(diào)試技巧進(jìn)行了介紹,需要的朋友可以過來參考下2016-11-11