Текст Jquery не отображается в IE 7.0 - PullRequest
0 голосов
/ 11 февраля 2010

Текст не отображается в моем модальном окне. Я вижу пустое пространство, но когда я выделяю его мышью, я вижу текст, и когда я щелкаю в любом месте экрана, текст становится невидимым. Он работает в Firefox, IE 6.0 и IE 8.0, но не в IE 7.0. Любое предложение высоко ценится. Ниже приведен код:

var msg = "Это сообщение об ошибке теста";

ShowError (ErrorMessage);

UTILS.showError = function (error) {

if(error === null || error === undefined) {
    return;
}

error = UTILS.Verror(error);

$("#validatorErrorDialog").remove();
$("#errorDialog").remove();
$("#warningDialog").remove();
$('div.confirmation').parent().hide();

var errorClone = $("#validatorErrorDialogHidden").clone();
errorClone.attr("id", "validatorErrorDialog");

var itemError = errorClone.find("ul.items li");
var itemErrorClone = itemError.clone();
var msgs = error.split("\n");
for(var i in msgs) {
    if (i == 0) {
        itemError.html(msgs[i]);
    } else {

        itemError.after(itemErrorClone.clone().html(unescape(msgs[i])));

    }
}
errorClone.removeClass("hidden");
if (UTILS.showError.arguments.length > 1) {
    var modalWindowId = UTILS.showError.arguments[1];
    $(".windowBodyBox .clear:eq(2)", modalWindowId).after(errorClone);
} else {
    if($('#openedModalId').length > 0 && $('#openedModalId').val() !== '') {
            var modalWindowId = $('#openedModalId').val();
            errorClone.prependTo($(modalWindowId +" div.line").next());


    } else {
            var index = $("#pageBodyIndex").val();
            if (index === undefined || index < 0 || index =='' || index =='') {
                index = 0;
            }
        errorClone.prependTo("div.pageBlockBody:eq("+index+")");
    }

}
// tooltips
$("#validatorErrorDialog").find(".tooltip").tooltip({
    track: true,
    delay: 0,
    fixPNG: true,
    opacity: 0.95,
    showURL: false
});

};

UTILS.Verror = function (errorMessage) { var patt1 = new RegExp ("{# [A-Za-z] [A-Za-z0-9.: -_] *}", "g"); делать { m = patt1.exec (errorMessage); if (m! = null && m! = undefined) { s = '' + m; s = s подстрока (1, s.length-1); ErrorMessage = errorMessage.replace ( '' + т, $ (ы) .val ()); } } while (m! = null && m! = undefined) { вернуть errorMessage; } }

1 Ответ

1 голос
/ 11 февраля 2010

Без особого примера кода, но без некоторых идей:

  • Проверьте ваш DOCTYPE - поместите <!doctype html> в начале вашего HTML и посмотрите, как это меняет поведение
  • В IE8 нажмите F12, чтобы вызвать инструменты разработчика и перейти в режим стандартов и причуда IE7 и посмотреть, повторяет ли поведение - это даст вам знать, если вы столкнулись с проблемой «режима причуда» в IE7
  • Возможное состояние гонки в анимациях или z-индексах JQuery, измените задержки на некоторых из ваших анимаций JQuery и посмотрите, как это работает
  • Убедитесь, что вы используете последнюю версию JQuery 1.4

Наконец, может быть хорошей идеей избегать использования модальных окон, в зависимости от приложения. Они действительно раздражают (по большей части), но только вы знаете пример использования здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...