IE7-8上的jQuery click事件不在div上执行,只在其文本上执行

IE7-8上的jQuery click事件不在div上执行,只在其文本上执行,jquery,internet-explorer,click,jquery-click-event,Jquery,Internet Explorer,Click,Jquery Click Event,我在IE7-8-9中使用jQuery单击事件时遇到问题。 我将事件应用于div。 但在这两个IE版本中,我必须单击div中包含的文本才能使事件正常工作 我不明白,因为在我做了一些更改(比如添加字体css属性)之前,它仍然在这些版本上正常工作,但是当我尝试删除这些更改时,它仍然不能像我所希望的那样工作 下面是一个JSFIDLE,演示了这种情况及其全屏结果 你知道少了什么吗 谢谢这是由于您在css中使用的行过滤器:progid:DXImageTransform.Microsoft.gradien

我在IE7-8-9中使用jQuery单击事件时遇到问题。 我将事件应用于div。 但在这两个IE版本中,我必须单击div中包含的文本才能使事件正常工作

我不明白,因为在我做了一些更改(比如添加字体css属性)之前,它仍然在这些版本上正常工作,但是当我尝试删除这些更改时,它仍然不能像我所希望的那样工作

下面是一个JSFIDLE,演示了这种情况及其全屏结果

你知道少了什么吗


谢谢

这是由于您在css中使用的行过滤器:progid:DXImageTransform.Microsoft.gradient,它使您的div无法单击。我建议您使用图像进行渐变

很遗憾,我不能使用图像,因为颜色的选择对用户来说是免费的。但我不确定梯度过滤器是不是原因…因为它在几个小时前就工作了,而且同样的过滤器也存在。但是,如果我按照您的建议移除过滤器,效果会很好。我将尝试改变divs组织,并让您知道是否可以找到一种方法来保存过滤器,并使点击工作。
function clickEvent(){

$('.answerDiv').click(function(){
    $( "div:animated" ).stop();
    if ( idPreviousClick === $(this)[0].id) {

    } else {
        if (idPreviousClick != -1) {
            $("#"+idPreviousClick).css({height:'100px', width:'100px', top:'0', 'line-height': '100px'});
            $("#"+idPreviousClick).parent().css({height:'100px', width:'100px', top:'0'});
        }
        $(this).animate({height:'120px', width:'120px', 'line-height': '120px'});
        $(this).parent().animate({height:'120px', width:'120px', top:'-10px'});
        idPreviousClick = $(this)[0].id;
    }
});

}

$(document).ready(function(){

clickEvent();

});

var idPreviousClick = -1;