1

我有以下代码。当您单击按钮时,将触发跨度覆盖上的单击处理程序,然后禁用该按钮。有效地切换按钮状态。在 Chrome 和 FireFox 中,这是有效的,按钮被禁用,点击它不会触发跨度覆盖上的点击处理程序。但是,在 IE 中,该按钮被禁用,但您可以单击它,它将触发跨度覆盖上的单击处理程序。

有没有办法在保持类似形式的同时解决这个问题?我无法删除跨度覆盖上的处理程序,因为我找不到在需要时重新附加它的方法(覆盖/按钮是动态生成的),并且我需要额外 id 参数的覆盖。有任何想法吗?

    <span id="id_1" style="display:inline-block">
       <button id="id_2">Click Me</button>
    </span>
4

2 回答 2

0

一个小问题,内联样式也正在生成?

也许您可以尝试将跨度设置为 z-index 为 1,按钮设置为绝对位置,并为其设置 z-index 10(或更多)。

于 2012-07-19T06:35:48.307 回答
0

您可以在运行代码之前检查按钮的 disabled-property:

$('#id_1')
 .click(function(e)
        {
         if(e.target.disabled){return;}
         /* code to execute when button is enabled*/
        });
于 2012-07-19T08:41:29.157 回答