同時存在兩個定義的時候(onclick與href都定義了),如果想阻止href的動作,在onclick必須加上return false; 一般是這樣寫 quot;xxx();return false; .
在href中定義的函數如果有返回值的話,當前頁面的內容將被返回值代替
如果頁面過長有滾動條,且希望通過鏈接的 onclick 事件執行操作。應將它的 href 屬性設為 javascript:void(0);,而不要是 #,這可以防止不必要的頁面跳動;
所以,比較推薦的寫法是
a href= javascript:void(0) quot;fn(this) a href= javascript:void(0); quot;javascript:goUrl( http://www.sina.com return false; 跳轉3 /a a href= javascript:void(0) quot;subgo() 點我 /a
在這里,javascript:void(0),沒啟實質上的作用,它僅僅是一個死鏈接,執行的函數是subgo()。
a href= # quot;subgo() 點我 /a 與 a href= javascript:void(0) quot;subgo() 點我 /a 區別。
實際上 #包含了一個位置信息默認的錨是#top 也就是網頁的上端 ,而javascript:void(0) 僅僅表示一個死鏈接,沒有任何信息。所以調用腳本的時候最好用void(0)
href一般是指向一個URL地址,也可以調用javascript ,如href= javascript:xxx(); ,文檔中推薦這樣寫: a href= javascript:void(0) quot;xxx(); xx /a ,但是這種方法在復雜環境有時會產生奇怪的問題,盡量不要用javascript:協議做為A的href屬性,這樣不僅會導致不必要的觸發window.onbeforeunload事件,在IE里面更會使gif動畫圖片停止播放。
點擊這樣一個鏈接時會有兩種情況發生,1、如果dosomthing返回true,那么瀏覽器就會發生跳轉到cool.html,相反如果返回false的話,就會忽略href。因此借住這個特性,我們可以寫這樣的代碼......
a href= cool.html onclick = doSomething() 做點什么吧 /a function doSomething(){return confirm( 您確認要離開嗎 function doSomething(){var ret = confirm( 確認要離開嗎? if(ret){window.loaction.href = cool.html }以上就是html中關于a標簽的onclick以及href的執行順序詳解的詳細內容,html教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答