合理使用 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 >連接</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-->
<a href="#" onclick="if(event.ctrlKey){alert('Hello World!');return false;}window.location.;>google</a>
以前點某個鏈接希望停留在本頁面的時候,往往會用
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