我有一个选择框,它使用ajax用新信息填充div。当我选择一个选项时,结果文本会出现并正确格式化。但是,当我选择新的内容时,生成的文本格式不正确,并且看起来会被挤压在一起。当我通过点击相对区域来应用焦点时,问题就消失了。
我似乎只有IE的这个问题。我不知道从哪里开始寻找调试这个东西,因为它在Firebug中完美运行,我在SO上找不到任何相关的主题。有没有人曾经遇到过这个问题?
*好吧,我不知道要展示哪些代码可以提供帮助。但是我走了:
$.ajax({
type: "POST",
url: "bccDates.php",
data: "CQID=" + CQID + "",
success: function(response){
$('#BCCDates').html(response); //div that updates
}
});
//下面是受影响区域的php / html。
echo "<div id=\"boxcarCapacityDates\"> \n";
echo "<form id=\"newDate\" name=\"newDate\" onSubmit=\"return validateDate('".$ID."')\"> \n";
echo "<h3>".$CQIDName."</h3> ";
echo "<p>No groupings exist for this Boxcar.</p>";
echo "<p>Enter a Date: </p>";
echo "<input type=\"text\" name=\"Date\" >\n";
echo "<br /><p><input id=\"validate\" class=\"small orange awesome\" type=\"submit\" value=\"Submit\" ></p> \n";
echo "</form> \n";
echo "</div> \n";
答案 0 :(得分:0)
问题最可能在于Internet Explorer对布局的处理,也许特别是“hasLayout”(http://www.satzansatz.de/cssd/onhavinglayout.html)。
我遇到了这个问题,通过Ajax将div加载到页面中,在点击相关元素后,它几乎总是正确的(即元素正确显示)。
我的经验中的分辨率几乎总是有点像css-crap-shoot,通过应用zoom
(特别是)和{{来强制插入元素/其父元素等hasLayout(sic) 1}}。
所以:有一个镜头应用position:relative
(第一个)和zoom:1
(不太可能修复所有)和相关元素,测试,还原,应用于其父,测试等等对DOM充满厌恶。
在幸运的情况下,它将通过插入元素或其父元素上的应用程序来解决,但它可能在很大程度上取决于所有元素父元素的显示方式,以及DOM的复杂程度。
一旦你获得了胜利组合,我就会把position:relative
等放在一个单独的IE特定样式表中,并将其包含在IE版本特定的标签中。