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