1

我有这个奇怪的问题,我将尝试尽可能具体地描述。

我正在使用 ASP.NET 4.0、jQuery 和使用 Ajax 开发一个 Web 模块,我有 Web 服务器的 getter 和 setter。

我有一个产品选择器,在选择产品时,我将通过 Ajax 调用获取数据。我在详细信息窗格中修改了产品名称、图像、描述...

它在 FireFox 和 Chrome 中运行良好,但在 Internet Explorer 中,产品名称(并且只有产品名称 - 图像和描述,来自同一对象工作)拒绝更新。

当我在 Visual Studio 中放置换行符并等待几秒钟并按 F5(我看到正确的产品名称)时,标签已更改。但是当我在 F5 上打得非常快时,事实并非如此。所以,我放置了setTimeout()一个延迟为 50 毫秒的代码,它适用于 IE。

任何人都知道为什么在 Internet Explorer 中会发生这种行为?

一些代码:

success: function (msg) {
        $("#tblHardwareOptions tr").remove();
        var tempDevice = JSON.parse(msg.d[3]);

        $("#imgDevice").attr("src", tempDevice.image);
        $("#deviceDescription").html(unescape(tempDevice.description));
        //=> setTimeOut works, added the "" to be sure it is empty
        //            setTimeout(
        //                function () {
        //without timeout it won't work in IE, even emptying the string
        //                    $(lblMachineName).text("");
        //                    $(lblMachineName).text(unescape(tempDevice.modelname));
        //                }
        //            , 50);
        //Tried without jQuery, but doesn't work neither
        document.getElementById(lblMachineName.replace("#", "")).innerText = unescape(tempDevice.modelname);
4

0 回答 0