自知其無知
          不懂,慢慢懂。
          posts - 2,comments - 2,trackbacks - 0

           合理使用 return  false;
          注意其中的原理:


          <href="http://www.google.cn" onclick="return myclick();">鏈接到谷歌</a>

          <script type="text/javascript">
             
          function myclick(){
                alert('呵呵,我失效了嗎?');
                
          return false;
             }

          </script>


          當然,還可以利用鏈接到一個函數的方式,如下:
          <href="javascript:goto();">鏈接失效咯。</a>

          ================================

          <html>  
            <head>  
            </head>  
            <body>  
            <a   >連接</a>  
            <input   type=button   value="dian">  
            </body>  
            </html>  
             
            當點擊button后   ,如何使上面超鏈接無效??  


          <a     id="mylink">連接</a>  
            <input   type=button   value="dian"   onclick="mylink.href='#'">  

          <html>  
            <head>  
            </head>  
            <body>  
            <a   >連接</a>  
            <input   type=button   value="dian"   onclick="mylink.href=''">  
            </body>  
            </html>

          <html>  
            <head>  
            <SCRIPT   LANGUAGE="JavaScript">  
            <!--  
            function   test(){  
            aaa.disabled=true;  
            aaa.onclick=function(){return   false}  
            }  
            //-->  
            </SCRIPT>  
            </head>  
            <body>  
            <a     id=aaa>連接</a>  
            <input   type=button   value="dian"   onclick="test()">  
            </body>  
            </html>
              
          這一個比較經典,我,曾經見過!!!
          <a     id="mylink">連接</a>  
            <input   type=button   value="dian"   ID=Button1   onclick="document.links('mylink').outerHTML='連接';">

          <a     id="mylink">連接</a>  
            <input   type=button   value="dian"   ID=Button1   onclick="document.links('mylink').disabled=!document.links('mylink').disabled;">

          <html>  
            <head>  
            <script   language="javascript">  
            function   Disable(){  
            var   strTxt=mylink.innerText;  
            mylink.outerHTML="<font   id='mylink'   color='black'>"+strTxt+"</font>";  
            }  
            </script>  
            </head>  
            <body>  
            <a   id="mylink"   >連接</a>  
            <input   type=button   value="dian"   onclick="Disable()">  
            </body>  
            </html>

          ============================================
          這是一個很經典的通過 css 來控制的:

          <HTML> <HEAD>
          <meta http-equiv="Content-Language" content="zh-cn">
           <TITLE>建站學|www.jzxue.com|---讓網頁上的超鏈接失效,不能點擊</TITLE>
          <style> a {poorfish:expression(this.onclick=function kill(){return false})} </style>
           </HEAD>
           <BODY>
          <p><a target="_blank" >建站學</a></p>
           <p>
          <a >www.163.com</a>
          </p>
           <p>
          <a >www.sohu.com</a></p> <p> 
          </p>
           </BODY>
          </HTML>

          ===================================
          在開發中時常會遇到這樣的需求:讓某些描述信息(這些描述信息已經進行過安全html過濾,所以不會包含Javascript等腳本語言,但是允許正常的鏈接)里的鏈接失效,但是不要或者這些描述信息.如要以下代碼塊里的鏈接失效

          <div id="desc">
            <a >無聊網</a>
          </div>

            只需要再后面插入下段Javascript既可<script type="text/javascript">
            var elements = document.getElementById('desc').getElementsByTagName('A');
            for (var i = 0, len = elements.length; i < len; ++i) {
              elements[i].onclick = function(){return false;};
              elements[i].href = "#";
            }
            var elementsArea = document.getElementById('desc').getElementsByTagName('area');
            for (var i = 0, len = elementsArea.length; i < len; ++i) {
              elementsArea[i].onclick = function(){return false;};
              elementsArea[i].href = "#";
            }
          </script>

            目前只知道a和area標簽可以放href屬性來進行跳轉,不知道大家還知道有其它的方式可以用href跳轉嗎?

          ==========================================

          (奇怪,不知道客戶要這個效果做什么)

           

          效果:

          如果點擊超鏈接,將正常導向;

          如果按住Ctrl鍵并點擊超鏈接,將執行一段JS代碼,并且瀏覽器不會導向或打開新頁面

           

          <!--Work in IE 6.0/7.0 and FF 3.0-->
          <href="#" onclick="if(event.ctrlKey){alert('Hello World!');return false;}window.location.;>google</a>

           

           


          作者:Lance ZhangLance Zhang's Tech Blog
          出處:http://blodfox777.cnblogs.com/
          本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。



          以前點某個鏈接希望停留在本頁面的時候,往往會用href=“#”來做、今天學會了用onclick="return false;"
          因為解釋器是根據link的onclick方法的返回值來判斷是否繼續操作的。

          這樣就可以進一步提高javascript的兼容性,比如寫一個彈出窗口就可以這樣:
          <a onclick = "window.open(......); return false;">JavaEye</a>
          這樣支持javascript的用戶可以看到彈出窗口,不支持的可以直接鏈接到頁面。

          在實際的測試中,firefox2可以實現,ie6不行。


          =============================================
          一個冠冕堂皇的理由來解釋為什么 onclick 返回 false 之后就可以進行使鏈接失效:
          onclick="return fn()" 與onclick"fn()"有什么區別?好像兩個都可以調用吧?    
          返回到哪里了關鍵????
          這就像一個回調函數吧.?
          返回給onclick?????
          回調,越來越暈了,呵呵

          這就像一個回調函數吧.?
          onclick 方法的之行需要 事件告訴他 執行還是不執行

          因為JAVASCRIPT在事件中調用函數時用return返回值實際上是對window.event.returnvalue進行設置。

          而該值決定了當前操作是否繼續。
          當返回的是TRUE時,將繼續操作。
          當返回是false時,將中斷操作。

          而直接執行時。將不會對window.event.returnvalue進行設置
          所以會默認地繼續執行操作

          當在 <a href="abc.htm" onclick="return add_onclick()">open</a> 中
          如果函數 add_onclick() 返回 true, 那么 頁面就會打開 abc.htm
          否則, (返回 false), 那么頁面不會跳轉到 abc.htm, 只會執行你的 add_onclick() 函數里的內容. (add_onclick函數中控制頁面轉到 abc.htm除外)

          而 <a href="abc.htm" onclick="add_onclick()">open</a>
          不管 add_onclick() 返回什么值, 都會在執行完 add_onclick 后打開頁面 abc.htm



          不過注意: 這個使鏈接失效的代碼是不是版本兼容的,也不是瀏覽器兼容的。
          IE6 可以 ,IE7 不行。。。
          FireFox 據說也不行。
          posted on 2008-12-14 19:04 CopyHoo 閱讀(9330) 評論(0)  編輯  收藏 所屬分類: JavaScript
          主站蜘蛛池模板: 榆林市| 儋州市| 醴陵市| 措美县| 江油市| 二连浩特市| 迭部县| 鞍山市| 金山区| 汝州市| 徐闻县| 湘乡市| 菏泽市| 桦南县| 玉环县| 天镇县| 洛南县| 德保县| 冕宁县| 乐昌市| 宁都县| 满洲里市| 麻阳| 宁津县| 房产| 蒲江县| 太湖县| 敦煌市| 东明县| 霍城县| 广州市| 延长县| 图们市| 贺州市| 安塞县| 富川| 班玛县| 城市| 兴海县| 江川县| 麻江县|