javascript - Jquery 按钮图像更改在 IE 和 Firefox 中不起作用

标签 javascript jquery html

按钮 img 在 Chrome 中变化得很好,但在 IE 和 Firefox 中,代码似乎被完全忽略了。

$(function(){
    var counter = 0;
    $("#sortButton").bind('click', function(){
        if (counter == 0) {
            counter = 1;
            $("#sortButton").attr('src', '../../images/sortbttn.png');
        }
        else {
            counter = 0;
            $("#sortButton").attr('src', '../../images/sortbttnclosed.png');
        }
    });
});
<button class="btn btn-default dropdown-toggle sortbutton" type="button" id="Button1" data-toggle="dropdown">
    <img id="sortButton" src="../../images/sortbttnclosed.png" />
</button>

最佳答案

如果您使用 jQuery 1.7,则应使用 .on() 方法而不是 .bind()img 被一个 button 包裹着,所以最好的方法是处理这个元素中的点击事件。

您还可以稍微干燥一下代码,使其更简单:

$(function () {
    $("#sortButton").closest('button').on('click', function () {
        var img1 = '../../images/sortbttn.png';
        var img2 = '../../images/sortbttnclosed.png';
        var currentImg = $('#sortButton', this).attr('src');

        $('#sortButton', this).attr('src', currentImg === img1 ? img2 : img1);
    });
});

Demo

关于javascript - Jquery 按钮图像更改在 IE 和 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27406738/

相关文章:

javascript - 更新到RC5后注入(inject)错误

javascript - Protractor browser.wait 不适用于 Angular 上的元素(by())

javascript - 如何在 JavaScript 中无需任何内联函数调用即可获取点击时的元素 id?

javascript - 在 JavaScript 中格式化字符长度/限制

javascript - 如何在提交时进行 ajax 调用并确保 html5 验证也发生

javascript - 增加 Bootstrap 2.3 的 Glyphicons 的大小

javascript - 禁用除覆盖 div 上的滚动之外的所有指针事件

c# - 异步调用操作方法不会加载 View

HTML/CSS : "See Through Background" Text?

javascript - 为 div 状态设置 cookie (javascript)