我有这个奇怪的问题,我将尝试尽可能具体地描述。
我正在使用 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);