多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

javascript教程

JavaScript 教程

JS 函數

JS HTML DOM

JS 高級教程

JS 瀏覽器BOM

JS 庫

JS 實例

拓展閱讀

javascript:void(0);用法及常見問題解析

閱讀 (2476)

使用過ajax的朋友經常會見到這樣的代碼:<a href="javascript:doTest2();void(0);">here</a>,這里面的void是一個操作符,該操作符指定要計算一個表達式但是不返回值。javascript:void(0);在某些情況下會有瀏覽器不兼容的bug。下面我們先來看下javascript:void(0);的基礎介紹及用法,然后再來看使用它會出現什么問題,該怎么解決。


void 操作符用法格式如下: 
1. javascript:void (expression) 
2. javascript:void expression 

expression 是一個要計算的 Javascript 標準的表達式。表達式外側的圓括號是選的,但是寫上去是一個好習慣。 (實現版本 Navigator 3.0) 

你以使用 void 操作符指定超級鏈接。表達式會被計算但是不會當前文檔處裝入任何內容。 

下面的代碼創建了一個超級鏈接,當用戶以后不會發生任何事。當用戶鏈接時,void(0) 計算為 0,但 Javascript 上沒有任何效果。 

<A HREF="javascript:void(0)">單此處什么也不會發生</A> 
下面的代碼創建了一個超級鏈接,用戶單時會提交表單。 
<A HREF="javascript:void(document.form.submit())"> 
單此處提交表單</A>
下面代碼則執行了subgo()函數,
<a href="javascript:void(0)"onclick="subgo()">點我</a>
在這里,javascript:void(0),沒啟實質上的作用,它僅僅是一個死鏈接,執行的函數是subgo()。
<a href="#" onclick="subgo()">點我</a><ahref="javascript:void(0)" onclick="subgo()">點我</a>區別。
<a href="javascript:void(0)"onclick="javascript:history.back();">返回 </a>
href=”#”,包含了一個位置信息.默認的錨是#top,也就是網頁的上端,當連續快速點擊此鏈接時會導致瀏覽器巨慢甚至崩潰。而javascript:void(0) 僅僅表示一個死鏈接,沒有任何信息。所以調用腳本的時候最好用void(0)


href="#"與javascript:void(0)的區別
href="#"方法其實也是空連接的意思,但是點擊之后會自動跳轉到頁面的最上面,因為用了這個方法就相當于點擊了一個錨記,但是這個錨記又沒寫ID,所以就默認跳轉到頁面頂部。從上面的例子也可以看出,當要執行某些處理,但是不整體刷新頁面的情況下,可以使用void(0),但是在需要對頁面進行refresh的情況下,那就要仔細了。

其實我們可以這樣用<ahref=”javascript:void(document.form.submit())”>,這句話會進行一次submit操作。那什么情況下用void(0)比較多呢,無刷新,當然是Ajax了,看一下Ajax的web頁面的話,一般都會看到有很多的void(0),所以在使用void(0)之前,最好先想一想,這個頁面是否需要整體刷新。

 說白了,href="#"這種形式會整體刷新頁面,而href="javascript:void(0)" 則不會。所以如果是空連接的話,還是推薦javascript:void(0)。


href = "#"當頁面有滾動條時,點擊后會返回到頁面頂端的解決辦法
目前有如下幾種解決辦法: 

1、點擊鏈接后不做任何事情 
<a href="javascript:void(0);" >test</a> 
<a href="javascript:;" >test</a> 
<a href="####" >test</a> //使用2個到4個#,見的大多是"####",也有使用"#all"等其他的 

2、點擊鏈接后,響應用戶自定義的點擊事件 
<a href="javascript:void(0)" onclick="doSomething()">test</a> 
<a href="#" onclick="doSomething();return false;">什么問題都解決了,包括瀏覽器不兼容問題</a> //或者直接使用href="" 
<a href="#" onclick="alert();event.returnValue=false;">test</a> 

使用javascript:void(0)會引起什么問題?
鏈接(href)直接使用javascript:void(0)在IE中可能會引起一些問題,比如:造成gif動畫停止播放等,所以,最安全的辦法還是使用“####”。為防止點擊鏈接后跳轉到頁首,onclick事件return false即可。 如果僅僅是想鼠標移過,變成手形,則可以使用。

我們可以使用void操作符指定超級鏈接,如javascript:void(document.form.submit())。表達式會被計算但是不會在當前文檔處裝入任何內容,void(0)計算為0,但在JavaScript上沒有任何效果,也就是說 <a href="javascript:void(0)">的效果同<a href="javascript:void(1)">的效果是一樣的。 

既然容易引起問題,為何新浪微博,淘寶等大站的首頁JS操作的href都是javascript:void(0);呢?

新浪微博
淘寶網首頁

<a href=”void(0);” rel=”nofollow”>
Click here to do nothing
</a>

<a href=”void(document.body.style.backgroundColor=’green’);” rel=”nofollow”>
Click here for green background
</a>
有可能是 javascript:void(0); 既保證了返回值是undefined,又保證如果連接點擊需要處理一些代碼,隨時將0替換掉就可以。

href上加js是為了防止連接跳轉,以前用#但是在部分瀏覽器下回跳轉到頁面頂部。這樣就不好了,于是有人想到了添加onclick=“return false”但是這樣問題又來了,這樣做會組織綁定的時間,比如我們用jquery。于是就有了用href=”javascript:void(0);”的寫法,這種做法開始確實是由一些寫c的人,因為編寫習慣而寫的。后來有人講void函數去掉了。就有了比較簡潔的寫法,其實在a在沒有連接的時候完全可以去掉href屬性或改用其他元素,只要加個指向時的鼠標樣式就可以了。根據個人習慣而定。

解決IE下使用javascript:void(0)方法會跳轉的方法
 一般情況下,在IE下的A標簽使用onclick的方法,在href屬性下都加上javascript:void(0)或者javascript:;

原代碼如下:
<a href="javascript:void(0)" title="關閉" onclick="delbook();">關閉</a>
或者:
<a href="javascript:;" title="關閉" onclick="delbook();">關閉</a>

以上兩種方法都可能會出現跳轉。

但是你會發現:在執行完clidk事件后會執行javascript:void(0),或者javascript:;


解決辦法:
<a href="javascript:void(0)" title="關閉" onclick="delbook();return false;">關閉</a>
或者
<a href="javascript:void(0)" target="_self" title="關閉" onclick="delbook();">關閉</a>
使用return false;可以阻止javascript:void(0)去執行。
使用target="_self"可以阻止會跳轉到其他頁面,因其是空函數,則不會發生頁面刷新。
當然,在使用target="_self"的情況下,你可以直接這樣寫。
<a href="javascript:delbook()" target="_self" title="關閉">關閉</a>
只要是頁面中有刷新或者跳轉動作就要用上面的解決方法。


JS的幾種跳轉方式:
1.

window.open(”url“) 

2.用自定義函數 

<script> 
function openWin(tag,obj) 
{ 
obj.target="_blank"; 
obj.href = "Web/Substation/Substation.aspx?stationno="+tag; 
obj.click(); 
} 
</script> 
<a href="javascript:void(0)"onclick="openWin(3,this)">點我</a>

3.
window.location.href='';


關閉
程序員人生
主站蜘蛛池模板: 国产xxxxx在线播放 | 性做久久久久久网站 | 精品卡通动漫在线观看视频一区 | 久久久久在线观看 | 欧洲亚洲综合一区二区三区 | 精品的一区二区三区 | 国产成人一区二区三区视频免费蜜 | 亚洲网址 | 亚洲精品国产福利一区二区三区 | sss欧美一区二区三区 | 男人边吃奶边摸下面好爽视频 | 国产永久在线 | 激情啪啪精品一区二区 | 手机看片福利日韩欧美看片 | yellow中文字幕官网是什么 | 波多野结衣视频在线观看地址免费 | 性吧影院 | 亚洲啊v| 欧美日韩另类国产 | 免费一级做a爰片久久毛片潮喷 | 女网址www女影院 | 日韩性网 | 日朝欧美亚洲精品 | 国产码欧美日韩高清综合一区 | 欧美大片天天免费看视频 | 亚洲欧美大片 | 大胆国模一区二区三区伊人 | 宇都宫紫苑ed2k | 亚洲 校园 欧美 动漫 制服 | 中文字幕曰韩一区二区不卡 | 欧美日本一道道一区二区三 | 欧美福利网站 | 激情视频网站在线观看 | japanese日本护士xx亚洲 | 国产精品欧美一区二区三区不卡 | 中文字幕一二三区乱码 | 成年人在线观看免费视频 | 在线亚洲不卡 | free性欧美极度另类性性欧美 | 免费一级毛片在级播放 | 一区二区三区国产精品 |