a標簽的href與onclick事件的區(qū)別詳解
onclick中javascript的區(qū)別一般沒用到都沒注意,但出錯時才有些郁悶,看文本章解釋如下:
以前一直很隨意,后來看.net里的linkbutton似乎是用在<a href="javascript:fun();"...>的形式,今天用這種方式就遇到一些問題,摘網(wǎng)友的文章和我的結(jié)論放在下面:
1.鏈接的 onclick 事件被先執(zhí)行,其次是 href 屬性下的動作(頁面跳轉(zhuǎn),或 javascript 偽鏈接);
2.假設(shè)鏈接中同時存在 href 與 onclick,如果想讓 href 屬性下的動作不執(zhí)行,onclick 必須得到一個 false 的返回值。不信,你可以將 goGoogle 函數(shù)中的 return false 注釋掉;
3.如果頁面過長有滾動條,且希望通過鏈接的 onclick 事件執(zhí)行操作。應(yīng)將它的 href 屬性設(shè)為 javascript:void(0);,而不要是 #,這可以防止不必要的頁面跳動;
4.如果在鏈接的 href 屬性中調(diào)用一個有返回值的函數(shù),當前頁面的內(nèi)容將被此函數(shù)的返回值代替;
5.在按住Shift鍵的情況下會有所區(qū)別。
6.今天我遇到的問題,在IE6.0里以href的形式訪問不到parentNode。
7.盡量不要用javascript:協(xié)議做為A的href屬性,這樣不僅會導(dǎo)致不必要的觸發(fā)window.onbeforeunload事件,在IE里面更會使gif動畫圖片停止播放。
就這些,花了不少時間在這上面。
[緣由]
用CheckBoxList控件時想實現(xiàn)在每個checkbox后再加鏈接的功能,點鏈接實現(xiàn)一些功能之外,還要把checkbox選中。
<input type="checkbox" name="chk" id="chk">
<label for="chk">選中它<a onclick="this.parentNode.click();" href="#" style="border:solid 1px blue;">[label中的鏈接]</a></label>
最后用parentNode來實現(xiàn)的。
<a href="javascript:void(0)" onclick="defineField(this);return false">ClickToDefine</a>
相關(guān)文章
js中parseFloat(參數(shù)1,參數(shù)2)定義和用法及注意事項
今天在看jquery時用到了parseFloat(第一個參數(shù),10),對這兩個參數(shù)很是疑惑,于是整理搜集了一下,曬出來與大家分享,希望本文對你有所幫助,感興趣的朋友可以了解下2013-01-01JavaScript與DOM組合動態(tài)創(chuàng)建表格實例
這篇文章簡單介紹了DOM 1.0一些基本而強大的方法以及如何在JavaScript中使用它們;你可以學到如何動態(tài)地創(chuàng)建、獲取、控制和刪除HTML元素2012-12-12Javascript中eval函數(shù)的使用方法與示例
JavaScript有許多小竅門來使編程更加容易。其中之一就是eval()函數(shù),這個函數(shù)可以把一個字符串當作一個JavaScript表達式一樣去執(zhí)行它。以下是它的說明2007-04-04Javascript入門學習第九篇 Javascript DOM 總結(jié)
作為一個js-DOM開發(fā)者,你必須知道的一些DOM方法:2008-07-07javascript中arguments,callee,caller詳解
javascript中arguments,caller,callee 是什么? 在javascript 中有什么樣的作用?本篇會對于此做一些基本介紹。希望大家能夠喜歡。2016-03-03