Элемент Span не обновляется правильно

Обновление 3 - 10/09/2013: только что проверил это с Version 29.0.1547.66 m и проблема все еще сохраняется. Если кто-то еще может проверить это и сообщить мне результаты, которые будут великолепны. Вам нужен встроенный элемент, например, интервал с некоторым текстом, располагайте его относительно и перемещайте на любое количество пикселей слева и сверху. Затем настройте некоторый jScript для изменения текущего внутреннего html элемента на что-то другое, и вы должны увидеть, что он остается таким же в области просмотра, но корректно изменяется в DOM.

Обновление 2: после еще большего тестирования проблема, по-видимому, возникает в элементах, которые встроены, например, span, или имеют CSS, который делает их встроенными, но также относительно позиционированными, похоже, именно эта комбинация и вызывает проблему. После публикации ошибки в Chromium она была помечена как проблема cr-Blink-Rendering, которая выглядит как движок, который отображает DOM в окне просмотра броузера. я использую Version 29.0.1547.57 (текущая версия заканчивается.66, но моя не обновилась из-за ошибки). Так что, если вы используете последнюю версию, этой проблемы может больше не быть.

Обновление: при дальнейшем изучении, я думаю, проблема в последней версии сборки Chrome 29.0.1547.57 м. Когда я тестировал элемент встроенным способом в IE9 и Firefox 21, он работал нормально. Я подал отчет об ошибке для этого на хром

У меня возникла проблема (которую я не смог воссоздать с помощью jsfiddle), когда я выполняю запрос ajax, получаю некоторые значения и помещаю их в элементы span, которые существуют на моей странице.

У меня очень странная проблема, когда ajax-запрос работает и возвращает значения. Значения вставляются в элементы span с помощью метода jQuerys .html, и когда я проверяю DOM с помощью инструментов разработчика Chrome, я вижу новое значение в span.

Однако то, что я вижу на странице, не отражает это, оно все еще показывает старое значение. Тем не менее, если я попытаюсь выделить значение, оно мгновенно изменится на правильное значение (значение, отображаемое в DOM).

Я даже пытался обновить значение span перед вызовом ajax (поскольку используемое мной значение получается из виджета-слайдера пользовательского интерфейса jQuery), но это все равно дает те же результаты.

Кто-нибудь еще сталкивался с этим?

РЕДАКТИРОВАТЬ: Вот часть кода

HTML

<div id="NewLoanSliderAmount" class="NewLoanSliderRules"></div>
<span id="NewLoanSliderAmountDisplay" class="NewLoanDisplay">£600</span>

Код слайдера. Это версия, где я пытаюсь обновить его прямо из значения ползунка

$("#NewLoanSliderAmount").slider({
    value: amount,
    min: 300,
    max: amount,
    step: 100,
    change: function (event, ui) {
        $("#NewLoanSliderAmountDisplay").html("£" + ui.value);
        window.CkSpace.GetLoanValues();
    }
});

Вот код Ajax:

    (function (CkSpace, $, undefined) {
        CkSpace.GetLoanValues = function () {
        var url = "/Home/UpdateAPR";

        $.get(url, { Amount: $("#NewLoanSliderAmount").slider("value"), Length:     $("#NewLoanSliderLength").slider("value") }, function (data) {
            $("#NewLoanAmount").html("£"+data.LoanAdvance);
            $("#NewLoanLength").html(data.LoanTerm);
            $("#NewLoanMonthlyCost").html("£"+data.LoanInstalment);
            $("#NewLoanTotal").html(data.LoanGrossRepyable);
            $("#NewLoanAPR").html(data.LoanAPR+"%");
            $("#NewLoanSliderAmountDisplay").html("£" + data.LoanAdvance);
            });
        }

    } (window.CkSpace = window.CkSpace || {}, jQuery));

РЕДАКТИРОВАТЬ 2:

Еще одна вещь, на которую следует обратить внимание: если я установлю точку останова на заполненный промежуток и пройдусь по нему, он будет обновляться каждый раз в инструментах разработчика Chrome

1 ответ

Решение

Я выяснил, что является причиной проблемы, хотя я не знаю, ПОЧЕМУ это вызывает проблему.

Сначала я попытался изменить промежуток до div и добавить display:inline к css. Это все еще не сработало.

Затем я удалил встроенный дисплей и вдруг, как элемент уровня блока, он работает.

Если кто-то знает больше о том, почему это так и может уточнить, пожалуйста, сделайте!

РЕДАКТИРОВАТЬ: На дальнейшее расследование я думаю, что проблема с последней сборкой Chrome Version 29.0.1547.57 m Когда я тестировал элемент встроенным способом в IE9 и Firefox 21, он работал нормально. Я думаю, что пришло время подать отчет об ошибке!

Другие вопросы по тегам