0
我正在構建一個網頁,打開一個jquery-ui對話框,其中填充了來自AJAx調用的一些數據。其中一個數字用於繪製Raphael彩色矩形。 操作順序是IE8無法正確呈現一個jQuery UI對話框中的Raphaeljs圖像
- Ajax調用
- 填表與DOM調用
- 平局Raphaeljs數字
- 顯示jQuery的用戶界面對話框
下面的代碼:
function onSelect_manuale(feature) {
if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp2=new XMLHttpRequest();
}
else{ // code for IE6, IE5
xmlhttp2=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp2.onreadystatechange=function(){
if (xmlhttp2.readyState==4 && xmlhttp2.status==200){
obj = jQuery.parseJSON(xmlhttp2.responseText);
document.getElementById("valMed").value = obj.valMed;
disegnaBarraCampo(obj.valMed, 'raphaelImageDiv');
$("#dialog-manuale").dialog('open');
}
}
xmlhttp2.open("GET","jGetData_manuale.php?id="+feature.data.idMisura,true);
xmlhttp2.send();
}
和
function disegnaBarraCampo(field_value, target_field) {
document.getElementById(target_field).innerHTML = '';
var paper = Raphael(target_field, 300, 100);
var barrettaVerde = paper.rect(field_value, 10, 100, 100, 4);
barrettaVerde.attr({
fill:'#00ff00',
'stroke-width':0
});
}
隨着Firefox或Chrome的一切正常工作。 IE8不會正確渲染Raphael圖:它顯示沒有填充顏色的矩形和1px黑色邊框。
同樣的拉斐爾代碼在IE8中正確呈現圖形,如果我把代碼放在對話框外面,所以我認爲這是Raphael + iquery-ui對話框的一種問題。
任何提示?
感謝
阿爾貝託