A標簽觸發(fā)onclick事件而不跳轉(zhuǎn)的多種解決方法
更新時間:2013年06月27日 17:52:53 作者:
一個標簽僅僅是要觸發(fā)onclick行為,遇到了A標簽觸發(fā)onclick事件時不執(zhí)行跳轉(zhuǎn),下面與大家分享下四種解決方法,感興趣的朋友可以參考下哈
在web頁面開發(fā)時,我們經(jīng)常會遇到下列情況:
1.一個標簽僅僅是要觸發(fā)onclick行為;
2.表現(xiàn)上要有鼠標的pointer指針顯示,或者其他類似a標簽的視覺效果。
比如執(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>標簽也會跳轉(zhuǎn)打開一個空頁面。因為html本身對 <a>標簽的href屬性做了處理,所以就會先執(zhí)行我們自己定義的方法,接著再運行它自身的方法(跳轉(zhuǎn)的方法)。
解決方法主要有四種,如下:
1. 不用a標簽,設定css或用js來表現(xiàn)(有點復雜);
2. 用a標簽,onclick屬性或onclick事件中返回false;(個人喜歡)
如:<a href="" target="mainFrame" class="STYLE4" onclick="del();return false" >刪除</a>
這是個執(zhí)行順序的問題,<a>這個標簽的執(zhí)行順序應該是先執(zhí)行onclick 的腳本,最后才進行href參數(shù)指定頁面的跳轉(zhuǎn)。在onclick中返回false,就可以中止<a>標簽的工作流程,也就是不讓頁面跳轉(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)到當前頁面頂部,當頁面內(nèi)容較多時,還是會有跳轉(zhuǎn)的感覺)
1.一個標簽僅僅是要觸發(fā)onclick行為;
2.表現(xiàn)上要有鼠標的pointer指針顯示,或者其他類似a標簽的視覺效果。
比如執(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>標簽也會跳轉(zhuǎn)打開一個空頁面。因為html本身對 <a>標簽的href屬性做了處理,所以就會先執(zhí)行我們自己定義的方法,接著再運行它自身的方法(跳轉(zhuǎn)的方法)。
解決方法主要有四種,如下:
1. 不用a標簽,設定css或用js來表現(xiàn)(有點復雜);
2. 用a標簽,onclick屬性或onclick事件中返回false;(個人喜歡)
如:<a href="" target="mainFrame" class="STYLE4" onclick="del();return false" >刪除</a>
這是個執(zhí)行順序的問題,<a>這個標簽的執(zhí)行順序應該是先執(zhí)行onclick 的腳本,最后才進行href參數(shù)指定頁面的跳轉(zhuǎn)。在onclick中返回false,就可以中止<a>標簽的工作流程,也就是不讓頁面跳轉(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)到當前頁面頂部,當頁面內(nèi)容較多時,還是會有跳轉(zhuǎn)的感覺)
相關(guān)文章
三劍客:offset、client和scroll還傻傻分不清?
這篇文章主要給大家介紹了三劍客:offset,client和scroll的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12JavaScript中isPrototypeOf函數(shù)作用和使用實例
這篇文章主要介紹了JavaScript中isPrototypeOf函數(shù)作用和使用實例,本文講解了它的作用和使用方法以及使用實例,需要的朋友可以參考下2015-06-06微信小程序scroll-view實現(xiàn)左右聯(lián)動
這篇文章主要為大家詳細介紹了微信小程序scroll-view實現(xiàn)左右聯(lián)動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09微信小程序tabBar組件切換與下拉刷新實現(xiàn)詳解
tabBar相對而言用的還是比較多的,但是用起來并沒有難,下面這篇文章主要給大家介紹了關(guān)于微信小程序全局配置之tabBar的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細,需要的朋友可以參考下2022-10-10