如何让 href 失效(转)

 合理使用 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"   οnclick="mylink.href='#'">  

<html>  
<head>  
</head>  
<body>  
<a   href="http://www.sina.com">连接</a>  
<input   type=button   value="dian"   οnclick="mylink.href=''">  
</body>  
</html>

<html>  
<head>  
<SCRIPT   LANGUAGE="JavaScript">  
<!--  
function   test(){  
aaa.disabled=true;  
aaa.οnclick=function(){return   false}  
}  
//-->  
</SCRIPT>  
</head>  
<body>  
<a   href="http://www.sina.com"   id=aaa>连接</a>  
<input   type=button   value="dian"   οnclick="test()">  
</body>  
</html>

这一个比较经典,我,曾经见过!!!
<a   href="http://www.sina.com"   id="mylink">连接</a>  
<input   type=button   value="dian"   ID=Button1   οnclick="document.links('mylink').outerHTML='连接';">

<a   href="http://www.sina.com"   id="mylink">连接</a>  
<input   type=button   value="dian"   ID=Button1   οnclick="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"   οnclick="Disable()">  
</body>  
</html>

============================================
这是一个很经典的通过 css 来控制的:

<HTML> <HEAD>
<meta http-equiv="Content-Language" content="zh-cn">
<TITLE>建站学|www.jzxue.com|---让网页上的超链接失效,不能点击</TITLE>
<style> a {poorfish:expression(this.οnclick=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=“#”来做、今天学会了用οnclick="return false;"
因为解释器是根据link的onclick方法的返回值来判断是否继续操作的。

这样就可以进一步提高javascript的兼容性,比如写一个弹出窗口就可以这样:
<a href = "http://www.iteye.com" onclick = "window.open(......); return false;">JavaEye</a>
这样支持javascript的用户可以看到弹出窗口,不支持的可以直接链接到页面。

在实际的测试中,firefox2可以实现,ie6不行。


=============================================
一个冠冕堂皇的理由来解释为什么 onclick 返回 false 之后就可以进行使链接失效:
οnclick="return fn()" 与onclick"fn()"有什么区别?好像两个都可以调用吧?    
返回到哪里了关键????
这就像一个回调函数吧.?
返回给onclick?????
回调,越来越晕了,呵呵

这就像一个回调函数吧.?
onclick 方法的之行需要 事件告诉他 执行还是不执行

因为JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置。

而该值决定了当前操作是否继续。
当返回的是TRUE时,将继续操作。
当返回是false时,将中断操作。

而直接执行时。将不会对window.event.returnvalue进行设置
所以会默认地继续执行操作

当在 <a href="abc.htm" οnclick="return add_onclick()">open</a> 中
如果函数 add_onclick() 返回 true, 那么 页面就会打开 abc.htm
否则, (返回 false), 那么页面不会跳转到 abc.htm, 只会执行你的 add_onclick() 函数里的内容. (add_onclick函数中控制页面转到 abc.htm除外)

而 <a href="abc.htm" οnclick="add_onclick()">open</a>
不管 add_onclick() 返回什么值, 都会在执行完 add_onclick 后打开页面 abc.htm



不过注意: 这个使链接失效的代码是不是版本兼容的,也不是浏览器兼容的。
IE6 可以 ,IE7 不行。。。
FireFox 据说也不行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值