Ginew.Z 的博客

          一切,為了讓生活更簡單、更自然

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            21 Posts :: 0 Stories :: 14 Comments :: 0 Trackbacks

          href="#" vs. href="javascript:void(0)"

          開發(fā)的時候有時需要用link(<a>)來觸發(fā)一些javascript事件,所以常常可以看到如下的代碼:

          <a href="javascript:void(0)" onclick="doSomething();returnfalse;">Link</a>

          這是一個曾經(jīng)被多次討論過的問題,長期以來,我也一直是這樣寫的。讀了 >>a href=”javascript:void(0);” — avoid the void 之后,我認(rèn)同了作者的意見。下面的寫法確實更合理:

          <a href="#" onclick="doSomething();returnfalse;">Link</a>

          或者

          <script type="javascript">
          function doSomething() {
            //doSomething
            returnfalse;
          }
          </script>
          <a href="#" onclick="return doSomething();">Link</a>

          以往大家不使用"#"的問題是,這將導(dǎo)致點擊鏈接時頁面跳回頁面頂部,但通過 return false 語句將使得瀏覽器忽略鏈接的默認(rèn)動作,從而避免了此問題。

          youngpup 更有意思,他在>>How to Create Pop-Up Windows 中言辭激烈的倡導(dǎo)大家永遠(yuǎn)永遠(yuǎn)永遠(yuǎn)不要使用 javascript: 偽協(xié)議:

          Never, ever, ever use the javascript: pseudo-protocol for anything, ever ever ever ever again. Please. Pretty please.

          他的解決方案是:

          <a 
            href="http://google.com/" 
            onclick="window.open(this.href, 'popupwindow', 
            'width=400,height=300,scrollbars,resizable'); 
            returnfalse;">

          這樣的好處就是可以保存到書簽或者收藏夾,可以左鍵單擊,也可以右鍵使用!

          posted on 2006-11-17 12:15 無風(fēng)之雨 閱讀(1105) 評論(2)  編輯  收藏 所屬分類: JavaScript

          Feedback

          # re: href=# vs href=void(0) 2009-05-06 15:00 domenic lee
          我的觀點是徹底拋棄 href  回復(fù)  更多評論
            

          # re: href=# vs href=void(0) 2009-07-16 11:46 loworth
          直接
          <a href="javascript:doSomething();">Link</a>
          如何呢?  回復(fù)  更多評論
            

          主站蜘蛛池模板: 临安市| 正定县| 新乡市| 清徐县| 绵竹市| 新沂市| 通海县| 汝州市| 安多县| 黄骅市| 宁德市| 奉节县| 镇康县| 湾仔区| 长兴县| 阳谷县| 瓮安县| 大冶市| 隆化县| 嘉定区| 望奎县| 扎鲁特旗| 福州市| 昆山市| 西宁市| 西乌| 永城市| 沈阳市| 金阳县| 玉屏| 长白| 武城县| 昌吉市| 芦山县| 临汾市| 文登市| 兴文县| 措美县| 兴安盟| 新营市| 大石桥市|