onclick和href
連接的 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動畫圖片中止播放
下面是本身遇到的:
若是不設置 href屬性在IE6下面會不響應hover。雙擊後會選中標籤的父容器而非這個一a標籤(IE下都存在這一問題)。
<a href="javascirpt:fn(this)"> <a onclick="fn(this)"> 假定咱們有個fn方法,須要取到這個元素,第一個方法傳入的this是空值。
因此,比較推薦的寫法是<a href="javascript:void(0)" onclick="fn(this)">
下面代碼則執行了subgo()函數,
<a href="javascript:void(0)" onclick="subgo()">點我</a>
在這裏,javascript:void(0),沒啓實質上的做用,它僅僅是一個死連接,執行的函數是subgo()。
<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();",文檔中推薦這樣寫:<a href="http://blog.163.com/wb_zhaoyuwei/blog/ 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中。
------------------------------------------------------------------------------------------------------------------------------------------
若是在實際應用中確實是要用到<a>標籤來響應onclick事件的。
那麼就建議使用下面四種方法
1.<a href="javascript:void(0)" onclick="doSomething()">test</a>
2.<a href="http://blog.163.com/wb_zhaoyuwei/blog/" onclick="doSomething();return false">test</a>
3.<a href="http://blog.163.com/wb_zhaoyuwei/blog/" onclick="doSomething();event.returnValue=false">test</a>
若是頁面過長有滾動條,且但願經過連接的 onclick 事件執行操做。應將它的 href 屬性設爲 javascript:void(0);,而不要是 #,這能夠防止沒必要要的頁面跳動;
若是在連接的 href 屬性中調用一個有返回值的函數,當前頁面的內容將被此函數的返回值代替;
在按住Shift鍵的狀況下會有所區別。
今天我遇到的問題,在IE6.0裏以href的形式訪問不到parentNode。
儘可能不要用javascript:協議作爲A的href屬性,這樣不只會致使沒必要要的觸發window.onbeforeunload事件,在IE裏面更會使gif動畫圖片中止播放
下面是本身遇到的:
若是不設置 href屬性在IE6下面會不響應hover。雙擊後會選中標籤的父容器而非這個一a標籤(IE下都存在這一問題)。
<a href="javascirpt:fn(this)"> <a onclick="fn(this)"> 假定咱們有個fn方法,須要取到這個元素,第一個方法傳入的this是空值。
因此,比較推薦的寫法是<a href="javascript:void(0)" onclick="fn(this)">
下面代碼則執行了subgo()函數,
<a href="javascript:void(0)" onclick="subgo()">點我</a>
在這裏,javascript:void(0),沒啓實質上的做用,它僅僅是一個死連接,執行的函數是subgo()。
<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();",文檔中推薦這樣寫:<a href="http://blog.163.com/wb_zhaoyuwei/blog/ 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中。
------------------------------------------------------------------------------------------------------------------------------------------
若是在實際應用中確實是要用到<a>標籤來響應onclick事件的。
那麼就建議使用下面四種方法
1.<a href="javascript:void(0)" onclick="doSomething()">test</a>
2.<a href="http://blog.163.com/wb_zhaoyuwei/blog/" onclick="doSomething();return false">test</a>
3.<a href="http://blog.163.com/wb_zhaoyuwei/blog/" onclick="doSomething();event.returnValue=false">test</a>
--------------------------------------------------------------------------------------------------
超級連接<a>標記表明一個連接點,是英文anchor(錨點)的簡寫。它的做用是把當前位置的文本或圖片鏈接到其餘的頁面、文本或圖像,這已經是衆所周知了,但關於它的語法結構可能有點不爲人知,而要用活它則必須瞭解其語法結構。<a>標記的基本語法結構是:
<a class=type id=value href=reference name=value rel=same|next|parent|previous rev=value target=window style=value title=title onclick=function onmouseout=function onMouseOver=function>鏈接</a>
其中class和id選項:用於設定連接點所屬的類型和分配的ID號,一般不加以設定。最經常使用的兩個參數是href和name。其中 href是hypertext reference的縮略詞,用於設定連接地址。連接地址必須爲url地址,若是沒有給出具體路徑,則默認路徑和當前頁的路徑相同。 連接到的文件也分爲幾種狀況:若是爲HTML文件,則在當前瀏覽器中直接打開;若是爲可執行文件(.exe文件),則直接執行或下載,咱們提供下載的文件就是用它的這種特性作的;若是爲文本文件如word格式的文件,則在瀏覽器中打開此文件,並能夠進行編輯加工。
rel:表示設定連接的關係:rel=same表示待連接的文件與此文件相同,rel=next表示待連接的文件爲下一頁,rel=parent表示本文件爲待連接文件的父文件,rel=previous則表示待連接的文件爲上一頁。
rev:則用於設定反向連接。
target:是在採用幀窗口的狀況下設定連接到哪個窗口,還有target="_bank"是表示新開一窗口打開網頁。
title:用於設定連接點被選到時顯示的標題。
onclick:對應於一個事件,當連接點被點擊後將觸發這個事件,執行對應的子程序。
onmouseover:與onclick相似,對應的事件在鼠標移到連接點上時被觸發。
onmouseout:對應的事件在鼠標移出鎮接點後被觸發。
舉幾個例子:
<a href="http://blog.163.com/wb_zhaoyuwei/blog/index.htm">回到主頁</a> <a href="http://blog.163.com/wb_zhaoyuwei/blog/sound.wav">播放語音文件</a> <a href="http://blog.163.com/wb_zhaoyuwei/blog/javascipt.open()">執行對應的程序</a> <a herf="document.doc">打開對應的文檔進行加工</a>