【问题标题】:jQuery click event on IE7-8, does not execute on the div, only on its textIE7-8 上的 jQuery 单击事件,不在 div 上执行,仅在其文本上执行
【发布时间】:2014-06-09 15:20:50
【问题描述】:

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

我不明白,因为在我进行一些更改(例如添加字体 css 属性)之前,它仍然可以正常工作在这些版本上,但是当我尝试删除这些更改时,它仍然无法正常工作;

这是一个 jsfiddle 说明情况及其全屏结果。

http://jsfiddle.net/rC632/

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;

http://jsfiddle.net/rC632/embedded/result/

您知道缺少什么吗?

谢谢

【问题讨论】:

    标签: jquery internet-explorer click jquery-click-event


    【解决方案1】:

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

    【讨论】:

    • 很遗憾,我不能使用图像,因为用户必须免费选择颜色。但我不确定梯度过滤器是不是原因......因为它在几个小时前工作,并且存在相同的过滤器。但是,如果我按照您的建议移除过滤器,效果会很好。我将尝试更改 div 组织,并让您知道是否可以找到一种方法来保存过滤器并使点击工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    相关资源
    最近更新 更多