javascript - 单击复选框以展开 div,在 IE7 中不起作用

标签 javascript jquery

下面的代码在 FF 中工作正常,但在 IE7 中不行——当在 IE 中单击复选框时,div 不会切换。

我该如何解决这类问题 - 有没有人知道如何解决这个问题?

// hide divs
$('.product-optional-toggle1').css({ display: 'none'}); 
$('.product-optional-toggle2').css({ display: 'none'}); 
$('.product-optional-toggle3').css({ display: 'none'}); 

// toggle divs when checkbox is checked
$('.product-optional-checkbox1').change(function () {
    if($(this).attr("checked") === "true") {
        $('.product-optional-toggle1').toggle('fast');  
        return;
    }
    $('.product-optional-toggle1').toggle('fast');  

});

$('.product-optional-checkbox2').change(function () {
    if($(this).attr("checked") === "true") {
        $('.product-optional-toggle2').toggle('fast');  
        return;
    }
    $('.product-optional-toggle2').toggle('fast');  

});

$('.product-optional-checkbox3').change(function () {
    if($(this).attr("checked") === "true") {
        $('.product-optional-toggle3').toggle('fast');  
        return;
    }
    $('.product-optional-toggle3').toggle('fast');  

});

最佳答案

IIRC,IE 复选框的 onchange 事件表现得很奇怪(与其他浏览器相比),我通过使用安装的点击事件解决了这个问题。

(更新:我太慢了)

编辑:如果你愿意,你也可以稍微简化你的代码......

for( var i = 1; i < 3; ++i ){
    $('.product-optional-toggle' + i).css({ display: 'none'}); 

    // toggle divs when checkbox is checked
    $('.product-optional-checkbox' + i).change(function () {
        if($(this).attr("checked") === "true") {
            $('.product-optional-toggle' + i).toggle('fast');  
            return;
        }
        $('.product-optional-toggle' + i).toggle('fast');      
    });
}

关于javascript - 单击复选框以展开 div,在 IE7 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1822766/

相关文章:

javascript - 将数据实现到表中的更有效方法

javascript - 使用 jQuery select() 选择一个 div 的内容

javascript - 我可以更改 JavaScript 中的事件队列优先级吗?

javascript验证

javascript - 在 Javascript 中访问所有事件监听器

java - 检测文件是否准备就绪并提供下载服务

javascript - 单击后如何使某些内容看起来像选项卡

javascript - 使用 DataTable.js 的 js 源数据的单个列搜索过滤器

javascript - 如何制作一个从 .json 文件加载其元素的嵌入 react 菜单?

javascript - 尝试编写渐变创建器 javascript 和 jquery