合理使用 return false;
注意其中的原理:
<a href="http://www.google.cn" onclick="return myclick();">链接到谷歌</a>
<script type="text/javascript">
function myclick(){
alert('呵呵,我失效了吗?');
return false;
}
</script>
当然,还可以利用链接到一个函数的方式,如下:
<a 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-->
<a href="#" onclick="if(event.ctrlKey){alert('Hello World!');return false;}window.location.href='http://www.google.com'";>google</a>
以前点某个链接希望停留在本页面的时候,往往会用
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