html中a標簽href='#'與href='###'的區(qū)別分享
發(fā)表時間:2024-01-02 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]首先,<a> 標簽 + onclick={jscode} 是很常用的一種 js 運用方式,而不使用 href=javascript:{jscode} 是為了兼容多種瀏覽器對 <a> 標簽的解釋和處理不同。其次,使用 <a> 標簽 + onclick={jscod...
首先,<a> 標簽 + onclick='{jscode}' 是很常用的一種 js 運用方式,而不使用 href='javascript:{jscode}' 是為了兼容多種瀏覽器對 <a> 標簽的解釋和處理不同。其次,使用 <a> 標簽 + onclick='{jscode}' 時經(jīng)常會加一個 href='###',而有時這個 href='###' 會被誤寫為 <a href='#'> 是因為使用者沒有理解 '#' 和 '###' 的區(qū)別。
簡單地說,就是說如果想定義一個空的鏈接,又不跳轉(zhuǎn)到頁面頭部,可以寫href="###"。詳細解釋就是'#' 是有特定意義的,如果 '#' 后有內(nèi)容會被認為是一個標簽而從頁面找到相應(yīng)標簽跳轉(zhuǎn)到該處,找不到時會跳到頁首, '###' 其實就是一個無意義的標簽指定,也就是一個 '#' 和不存在的標簽 '##' 的組合,頁面中找不到命名為 '##' 的 <a> 時該鏈接就不會發(fā)生跳轉(zhuǎn),也就不會導(dǎo)致執(zhí)行 onclick 中的內(nèi)容時突然發(fā)生頁面跳到頁首的問題。'###' 只是一種使用者習(xí)慣,如果你愿意,可以隨便找一個跳轉(zhuǎn)不到的標簽作為命名。說白了"###" 就是一個不是錨點的字符串 瀏覽器找不到也不會跳到頁首,原理就是依賴了網(wǎng)頁的報錯機制,找不到就不做處理。
有些人說,不喜歡“###”因為他會改變鏈接。都是使用一直用javascript:void(0)或者javascript:。href="javascript:void(0);"但也有人說用href="javascript:void(0);"可能會有瀏覽器兼容問題。在做頁面時,如果想做一個鏈接點擊后不做任何事情,或者響應(yīng)點擊而完成其他事情,可以設(shè)置其屬性 href = "#",但是,這樣會有一個問題,就是當頁面有滾動條時,點擊后會返回到頁面頂端,用戶體驗不好。
javascript:void(0)這種偽協(xié)議,少寫的好,如果你看過一些web標準的書就知道為什么了。 2.鏈接(href)直接使用javascript:void(0)在IE中可能會引起一些問題,比如:造成gif動畫停止播放等,所以,最安全的辦法還是使用“####”。為防止點擊鏈接后跳轉(zhuǎn)到頁首,onclick事件return false即可。
以上就是html中a標簽href='#'與href='###'的區(qū)別分享的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
網(wǎng)站建設(shè)是一個廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護的網(wǎng)站。