zoukankan      html  css  js  c++  java
  • (转丁学)Firefox2的一个bug和脑子进了水的IE

    先来说IE的这个小问题,对于一个输入框,如果指定了disabled="disabled",那么所有样式对它无效,不知道IE的开发团队是怎么想的,虽然用户禁用了文本框的可输入性,但并没有禁止此框的显示,所以让样式失效不知道是出于什么考虑。虽然如果样式对禁用的文本框起作用可能会产生“欺骗”,当disabled的文本框和其他文本框表现完全一样时,这是一种对用户的欺骗,明明看起来一样的东西,却产生不同的行为,但是这个东西应该是设计师们考虑的,设计师们自然会给两种文本框不同的样式,除非他也没想明白……但无论如何,IE都不应该越俎代庖,一棒子全打死了,这多不好?

    下面来说Firefox的这个bug,这个就有趣的多:(废话不多说,直接看代码)
    <!--本文最初发表于博客园-丁学,此BUG出现在FF2,FF3无此BUG,其他版本未测试-->
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>可爱的FireFox</title>
        <script type="text/javascript">
            function display(r){
                var s = document.getElementById("tbl").rows[1].cells[r];
                s.style.display = s.style.display=="none"?"":"none";
            }
        </script>
    </head>
    <body>
        <form method="post" action="" id="form1">
            这个控制td1<input type="checkbox" value="1" checked="checked" onclick="display(0);" /><br />
            这个控制td2<input type="checkbox" value="2" checked="checked" onclick="display(1);" /><br />
            先把上面两个复选框取消选择,这样td1/td2会被display:none了,然后先选择前一个显示td1,再选择后一个显示td2,看header!<br />
            bug仅在FF2下被发现,FF3没有此问题,其他版本未测试
        </form>
        <table id="tbl" border="1" style="border-collapse:collapse;300px;">
            <tr>
                <td colspan="2">header</td>
            </tr>
            <tr>
                <td>td1</td>
                <td>td2</td>
            </tr>
        </table>
    </body>
    </html>
    <!--原文链接:http://dingxue.cnblogs.com/archive/2008/06/03/1212553.html-->

    警告:上述代码仅为表现一种形式而产生,漏洞多多,标准不符,请勿直接用于生产环境。

    最近发现很多人转载不加原文链接,那我只好自己加上了:丁学

    测试OPERA没有问题(无伞测)

  • 相关阅读:
    python-用闭包(装饰器)实现计算器的功能
    python 斐波那契数列
    python 递归方法
    python冒泡排序
    一步步学习ASP.NET MVC3 (6)——@helper,@functions
    一步步学习ASP.NET MVC3 (5)——View从Action中获得数据
    一步步学习ASP.NET MVC3 (4)——Razor(2)
    一步步学习ASP.NET MVC3 (3)——Razor(1)
    ASP.NET MVC Spring.NET NHibernate 整合
    ASP.NET MVC NHibernate 整合
  • 原文地址:https://www.cnblogs.com/yuzhongwusan/p/1228897.html
Copyright © 2011-2022 走看看