Javascript Jquery Internet Explorer 8 延迟渲染视觉 dom 变化

发布于 2024-11-18 05:59:01 字数 218 浏览 1 评论 0原文

目前我在 IE 8 中的 javascript 遇到问题。我有两个复选框,如果我选中一个,则另一个未选中。到目前为止效果很好。在 IE8 中,仅在我右键单击该网站后才会呈现视觉变化。 请参阅 http://jsbin.com/usodik/9 获取示例。 有人有任何提示可以解决这个问题吗?

问候

currently I'm having a problem with my javascript in IE 8. I have two checkboxes, if I check one, the other one is unchecked. This works fine so far. In IE8 the visual change is only rendered, after I do a right click on that site for example.
Please see http://jsbin.com/usodik/9 for an example.
Anybody any hint to fix this?

Regards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

执着的年纪 2024-11-25 05:59:01

使用此代码:

function togglePrefixVisibility() {
    if (jQuery('#friendlyNames').is(':checked')){
        jQuery('#friendlyNames').attr('checked', false);
    }       
}

function toggleNameVisibility() {
    if (jQuery('#prefixes').is(':checked')){
        jQuery('#prefixes').attr('checked', false);
    }       
}

一般准则:

  • 始终使用 .attr('checked', false).attr('checked', true) 选中/取消选中复选框。不要使用 attr('checked')removeAttr(),因为属性值引用 html 标记中设置的值,而不是运行时设置的值。
  • 出于同样的原因,始终询问是否使用 .is(":checked") 选中复选框/单选按钮

并且使用 onclick 而不是 < code>onchange 在您的复选框中调用此函数。
我测试了它并且工作正常。

希望这有帮助。干杯

Use this code:

function togglePrefixVisibility() {
    if (jQuery('#friendlyNames').is(':checked')){
        jQuery('#friendlyNames').attr('checked', false);
    }       
}

function toggleNameVisibility() {
    if (jQuery('#prefixes').is(':checked')){
        jQuery('#prefixes').attr('checked', false);
    }       
}

General guildelines:

  • Always check/uncheck a checkbox with .attr('checked', false) or .attr('checked', true). Don't use attr('checked') or removeAttr(), because attribute values reference to the ones set in html markup, not runtime.
  • Always ask if a checkbox/radio is checked with .is(":checked") for the same reasons

And also use onclick instead of onchange in your checkboxes to call this functions.
I tested it and it's working fine.

Hope this helps. Cheers

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文