A標(biāo)簽觸發(fā)onclick事件而不跳轉(zhuǎn)的多種解決方法
更新時間:2013年06月27日 17:52:53 作者:
一個標(biāo)簽僅僅是要觸發(fā)onclick行為,遇到了A標(biāo)簽觸發(fā)onclick事件時不執(zhí)行跳轉(zhuǎn),下面與大家分享下四種解決方法,感興趣的朋友可以參考下哈
在web頁面開發(fā)時,我們經(jīng)常會遇到下列情況:
1.一個標(biāo)簽僅僅是要觸發(fā)onclick行為;
2.表現(xiàn)上要有鼠標(biāo)的pointer指針顯示,或者其他類似a標(biāo)簽的視覺效果。
比如執(zhí)行刪除操作時,為了避免誤操作,我們要彈出對話框讓用戶確定是否刪除。因此我們經(jīng)常會用鏈接<a></a>形式代替<button> 觸發(fā)onclick事件。
代碼如下:
<script type="text/javascript">
function del(){
if(confirm("確定刪除該記錄?")){
parent.window.location="執(zhí)行刪除.jsp";
return true;
}
return false;
}
</script>
<a href="" target="mainFrame" class="STYLE4" onclick="del()" >刪除</a>
這樣做的后果是js代碼會跳轉(zhuǎn)到"執(zhí)行刪除.jsp"頁面,而<a>標(biāo)簽也會跳轉(zhuǎn)打開一個空頁面。因為html本身對 <a>標(biāo)簽的href屬性做了處理,所以就會先執(zhí)行我們自己定義的方法,接著再運行它自身的方法(跳轉(zhuǎn)的方法)。
解決方法主要有四種,如下:
1. 不用a標(biāo)簽,設(shè)定css或用js來表現(xiàn)(有點復(fù)雜);
2. 用a標(biāo)簽,onclick屬性或onclick事件中返回false;(個人喜歡)
如:<a href="" target="mainFrame" class="STYLE4" onclick="del();return false" >刪除</a>
這是個執(zhí)行順序的問題,<a>這個標(biāo)簽的執(zhí)行順序應(yīng)該是先執(zhí)行onclick 的腳本,最后才進(jìn)行href參數(shù)指定頁面的跳轉(zhuǎn)。在onclick中返回false,就可以中止<a>標(biāo)簽的工作流程,也就是不讓頁面跳轉(zhuǎn)到href參數(shù)指定的頁面。
3. 用href="javascript:void(0)"這種偽協(xié)議;(這種偽協(xié)議,少寫的好)
即:<a href="javascript:void(0)" target="mainFrame" class="STYLE4" onclick="del()" >刪除</a>
4. <a href="#" class="STYLE4" onclick="del()" >刪除</a>。(總是跳轉(zhuǎn)到當(dāng)前頁面頂部,當(dāng)頁面內(nèi)容較多時,還是會有跳轉(zhuǎn)的感覺)
1.一個標(biāo)簽僅僅是要觸發(fā)onclick行為;
2.表現(xiàn)上要有鼠標(biāo)的pointer指針顯示,或者其他類似a標(biāo)簽的視覺效果。
比如執(zhí)行刪除操作時,為了避免誤操作,我們要彈出對話框讓用戶確定是否刪除。因此我們經(jīng)常會用鏈接<a></a>形式代替<button> 觸發(fā)onclick事件。
代碼如下:
復(fù)制代碼 代碼如下:
<script type="text/javascript">
function del(){
if(confirm("確定刪除該記錄?")){
parent.window.location="執(zhí)行刪除.jsp";
return true;
}
return false;
}
</script>
<a href="" target="mainFrame" class="STYLE4" onclick="del()" >刪除</a>
這樣做的后果是js代碼會跳轉(zhuǎn)到"執(zhí)行刪除.jsp"頁面,而<a>標(biāo)簽也會跳轉(zhuǎn)打開一個空頁面。因為html本身對 <a>標(biāo)簽的href屬性做了處理,所以就會先執(zhí)行我們自己定義的方法,接著再運行它自身的方法(跳轉(zhuǎn)的方法)。
解決方法主要有四種,如下:
1. 不用a標(biāo)簽,設(shè)定css或用js來表現(xiàn)(有點復(fù)雜);
2. 用a標(biāo)簽,onclick屬性或onclick事件中返回false;(個人喜歡)
如:<a href="" target="mainFrame" class="STYLE4" onclick="del();return false" >刪除</a>
這是個執(zhí)行順序的問題,<a>這個標(biāo)簽的執(zhí)行順序應(yīng)該是先執(zhí)行onclick 的腳本,最后才進(jìn)行href參數(shù)指定頁面的跳轉(zhuǎn)。在onclick中返回false,就可以中止<a>標(biāo)簽的工作流程,也就是不讓頁面跳轉(zhuǎn)到href參數(shù)指定的頁面。
3. 用href="javascript:void(0)"這種偽協(xié)議;(這種偽協(xié)議,少寫的好)
即:<a href="javascript:void(0)" target="mainFrame" class="STYLE4" onclick="del()" >刪除</a>
4. <a href="#" class="STYLE4" onclick="del()" >刪除</a>。(總是跳轉(zhuǎn)到當(dāng)前頁面頂部,當(dāng)頁面內(nèi)容較多時,還是會有跳轉(zhuǎn)的感覺)
相關(guān)文章
js實現(xiàn)圖片粘貼上傳到服務(wù)器并展示的實例
下面小編就為大家?guī)硪黄猨s實現(xiàn)圖片粘貼上傳到服務(wù)器并展示的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11三劍客:offset、client和scroll還傻傻分不清?
這篇文章主要給大家介紹了三劍客:offset,client和scroll的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12JavaScript中isPrototypeOf函數(shù)作用和使用實例
這篇文章主要介紹了JavaScript中isPrototypeOf函數(shù)作用和使用實例,本文講解了它的作用和使用方法以及使用實例,需要的朋友可以參考下2015-06-06微信小程序scroll-view實現(xiàn)左右聯(lián)動
這篇文章主要為大家詳細(xì)介紹了微信小程序scroll-view實現(xiàn)左右聯(lián)動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09微信小程序tabBar組件切換與下拉刷新實現(xiàn)詳解
tabBar相對而言用的還是比較多的,但是用起來并沒有難,下面這篇文章主要給大家介紹了關(guān)于微信小程序全局配置之tabBar的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10