IE 7 jquery bind and $(this)



>我有树视图脚本,其中一部分看起来像:

root.find("." + classControl).each(function () {
    $(this).bind('click', function () {
        if ($(this).text() == "-") {
            $(this).text("+");
        }
        else {
            $(this).text("-");
        }
        $(this).parentsUntil("li").parent().children("ul").toggle();
    });
});

它应该找到所有折叠/显示按钮并绑定它们的正确功能。它适用于FF,Chrome,IE 8,但不适用于IE7。当我单击按钮时,它从 + 变为 - 或相反,但它也会将所有其他按钮设置为空文本。

我认为问题一定出在这个选择器上,因为如果我只绑定简单的 alert(),它甚至可以在 IE7 中工作

您希望强制 IE7 重新绘制对象 - 如果您调整屏幕大小,则会这样做。有多种方法可以做到这一点,但这里有一种据称在与您的情况非常相似的情况下工作的方法:IE7何时重新计算样式?

最新更新