自知其无知
不懂,慢慢懂。
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   href="http://www.sina.com">连接</a>  
  <input   type=button   value="dian">  
  </body>  
  </html>  
   
  当点击button后   ,如何使上面超链接无效??  


<a   href="http://www.sina.com"   id="mylink">连接</a>  
  <input   type=button   value="dian"   onclick="mylink.href='#'">  

<html>  
  <head>  
  </head>  
  <body>  
  <a   href="http://www.sina.com">连接</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   href="http://www.sina.com"   id=aaa>连接</a>  
  <input   type=button   value="dian"   onclick="test()">  
  </body>  
  </html>
    
这一个比较经典,我,曾经见过!!!
<a   href="http://www.sina.com"   id="mylink">连接</a>  
  <input   type=button   value="dian"   ID=Button1   onclick="document.links('mylink').outerHTML='连接';">

<a   href="http://www.sina.com"   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"   href="http://www.sina.com">连接</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" href="http://www.jzxue.com">建站学</a></p>
 <p>
<a href="http://www.163.com">www.163.com</a>
</p>
 <p>
<a href="http://www.sohu.com">www.sohu.com</a></p> <p> 
</p>
 </BODY>
</HTML>

===================================
在开发中时常会遇到这样的需求:让某些描述信息(这些描述信息已经进行过安全html过滤,所以不会包含Javascript等脚本语言,但是允许正常的链接)里的链接失效,但是不要或者这些描述信息.如要以下代码块里的链接失效

<div id="desc">
  <a href="http://www.9i56.cn">无聊网</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.href='http://www.google.com'";>google</a>

 

 


作者:Lance ZhangLance Zhang's Tech Blog
出处:http://blodfox777.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。



以前点某个链接希望停留在本页面的时候,往往会用href=“#”来做、今天学会了用onclick="return false;"
因为解释器是根据link的onclick方法的返回值来判断是否继续操作的。

这样就可以进一步提高javascript的兼容性,比如写一个弹出窗口就可以这样:
<a href = "http://www.javaeye.com" 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 阅读(9299) 评论(0)  编辑  收藏 所属分类: JavaScript

只有注册用户登录后才能发表评论。


网站导航: