超链接的禁用属性Disabled使用示例


Posted in Javascript onJuly 31, 2014

可以设置超链接的Disabled属性的true 和 false来确定超链接是不是能点击

例如:

<a herf='http://www.baidu.com' onclick='return click(this);' disabled='ture'>bai du</a>

上面的意思是不想让bai du的超链生效,但在click不做任何约束和判断的话,但点击bai du的时候自然就会跳转到百度页面,这就是html中超链接禁用属性的bug
可以添加下面js约束来判断超链接是否可以使用 

<script language='javascript'> 
function click(obj) 
{ 
if(obj.disabled) 
{ 
return false; 
} 
return ture; 
} 
</script>

下面的微软给出的bug解决方案:

借助了全局变量,使用别的按钮来改变disabled的属性,来得到禁用属性的效果.;

BUG: DISABLED 属性不在禁用超链接
尽管 DISABLED 属性设置为 True 一个超链接为在以下,
<a DISABLED="true" href="http://www.microsoft.com/" rel="external nofollow" rel="external nofollow" >Where do you want to go today?</a>
用户仍可以单击超链接,然后 Internet Explorer 导航到所选页。

若要解决此问题,设置返回 true 或 false 根据当前的执行上下文的超链接的 onclick 事件。 在下面的代码将全局的 Microsoft JScript 变量的值设置为 true 或 false ,根据按钮单击中。 目标超链接对象的 DISABLED 属性被更新,以便它能够正确通信其禁用的状态,其他对象并编写脚本页上的功能。

<html> 
<head> 
<title>Workaround for DISABLED Attribute Problem</title> 
<SCRIPT> 
var canNav = false; 
function canNavigate() { 
return canNav; 
} 
function load() { 
document.all("btn1").innerText = "Link status == " + canNav; 
} 

function setNavigate(linkObj, canNavParam) { 
if (linkObj != null) { 
if (canNavParam == false) { 
linkObj.disabled = true; 
} else { 
linkObj.disabled = false; 
} 
canNav = canNavParam; 
} 
} 

function updateBtnStatus(btnName) { 
var btn = document.all(btnName); 
if (btn != null) { 
document.all(btnName).innerText = "Link status == " + canNav; 
} 
} 
</SCRIPT> 

</head> 
<body onload="load();"> 
<a id="lnk1" disabled=true href="http://www.microsoft.com/" rel="external nofollow" rel="external nofollow" onclick="return canNavigate();">Click here</a><p> 
<button id=btn1 onclick="setNavigate(document.all('lnk1'), !(canNav));updateBtnStatus('btn1');"> 
</button> 
</body> 
</html>
Javascript 相关文章推荐
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
Feb 16 Javascript
关于onchange事件在IE和FF下的表现及解决方法
Mar 08 Javascript
jquery对table中各数据的增加、保存、删除操作示例
May 14 Javascript
JS实现距离上次刷新已过多少秒示例
May 23 Javascript
Node.js安装教程和NPM包管理器使用详解
Aug 16 Javascript
JavaScript匿名函数用法分析
Feb 13 Javascript
JavaScript必知必会(五) eval 的使用
Jun 08 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
Jun 10 Javascript
Bootstrap表单布局样式源代码
Jul 04 Javascript
jQuery实现移动端手机商城购物车功能
Sep 24 Javascript
JS实现十字坐标跟随鼠标效果
Dec 25 Javascript
Koa代理Http请求的示例代码
Oct 10 Javascript
Windows 系统下安装和部署Egret的开发环境
Jul 31 #Javascript
js锁屏解屏通过对$.ajax进行封装实现
Jul 31 #Javascript
javascript函数中参数传递问题示例探讨
Jul 31 #Javascript
JavaScript数值转换的三种方式总结
Jul 31 #Javascript
new Date()问题在ie8下面的处理方法
Jul 31 #Javascript
JS数组的遍历方式for循环与for...in
Jul 31 #Javascript
js中回调函数的学习笔记
Jul 31 #Javascript
You might like
一家之言的经验之谈php+mysql扎实个人基本功
2008/03/27 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
php函数serialize()与unserialize()用法实例
2014/11/06 PHP
BOOM vs RR BO5 第四场 2.14
2021/03/10 DOTA
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
js实现div的切换特效上一个下一个
2014/02/11 Javascript
jQuery内容过滤选择器用法分析
2015/02/10 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
jquery插件bootstrapValidator表单验证详解
2016/12/15 Javascript
Node.js使用MySQL连接池的方法实例
2018/02/11 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
2018/08/17 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
在vue中利用v-html按分号将文本换行的例子
2019/11/14 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
2020/02/05 Javascript
Python实现partial改变方法默认参数
2014/08/18 Python
Python实现的石头剪子布代码分享
2014/08/22 Python
Python实现单词拼写检查
2015/04/25 Python
在Python的Django框架中编写错误提示页面
2015/07/22 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
Pythonic版二分查找实现过程原理解析
2020/08/11 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
CSS3中的元素过渡属性transition示例详解
2016/11/30 HTML / CSS
小学新教师培训方案
2014/02/03 职场文书
幼儿园运动会加油词
2014/02/14 职场文书
上海世博会口号
2014/06/19 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
python的html标准库
2022/04/29 Python