span overlay:当它不应该在IE中触发点击

时间:2012-07-19 06:10:35

标签: jquery html css internet-explorer

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

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

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

2 个答案:

答案 0 :(得分:0)

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

也许您可以尝试使用z-index为1的样式和具有绝对位置的按钮设置样式,并为其指定z-index为10(或更多)。

答案 1 :(得分:0)

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

$('#id_1')
 .click(function(e)
        {
         if(e.target.disabled){return;}
         /* code to execute when button is enabled*/
        });