zoukankan      html  css  js  c++  java
  • 超链接的禁用属性Disabled了解

    可以设置超链接的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/">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/" onclick="return canNavigate();">Click  here</a><p> 
    <button id=btn1 onclick="setNavigate(document.all('lnk1'), !(canNav));updateBtnStatus('btn1');"> 
    </button> 
    </body> 
    </html> 
    参考文献:http://support.microsoft.com/kb/253579/zh-cn 

  • 相关阅读:
    async 和 await
    Nginx配置反向代理与负载均衡
    简单使用高德地图开放平台API
    layui select 动态赋值
    ERROR: Pool overlaps with other one on this address space
    解决docker镜像无法删除的问题
    伪静态问题导致前台页面无法通过地址栏访问
    ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule
    PHP使用引用实现无限极分类
    composer update -- memory_limit
  • 原文地址:https://www.cnblogs.com/ranzige/p/3878617.html
Copyright © 2011-2022 走看看