Javascript Jquery Internet Explorer 8 задержка рендеринга визуальных изменений DOM - PullRequest
0 голосов
/ 05 июля 2011

В настоящее время у меня проблема с моим JavaScript в IE 8. У меня есть два флажка, если я отмечаю один, другой не проверяется. Это работает отлично до сих пор. В IE8 визуальное изменение отображается только после того, как я, например, щелкну правой кнопкой мыши на этом сайте. Пожалуйста, см. http://jsbin.com/usodik/9 для примера. Кто-нибудь есть подсказка, чтобы это исправить?

Привет

1 Ответ

0 голосов
/ 05 июля 2011

Используйте этот код:

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 вместо onchange в своих флажках для вызова этой функции.Я проверил это, и он работает нормально.

Надеюсь, это поможет.Приветствия

...