我在使用vml画矩形时,有时出来,有时不出来。
div.innerHTML="<v:rect id = 'indexRect' filled='false' style='position:absolute;left:" + left + ";top:" + top +";height:" + height +";width:"+ width +";cursor:move' strokecolor='red' strokeweight='2px' οnmοusedοwn='f_mdown(this)' οnmοuseup='MoveMainMap()'></v:rect>";
alert(div.innerHTML); 弹出的结果会在<v:前面加上一段<?xml:namespace prefix=v ns='urn:schemas-microsoft-com:vml'/>或者<?xml:namespace prefix=v>(我不了解为什么会这样。先不管)如果是后面这样,矩形就没有绘出。
原因是我没有添加对vml的任何引用。
修改在aspx文件的头文件
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" >
一定要添加下面一段:
<style type="text/css">
v/:*{ behavior: url(#default#VML) }
o/:*{ behavior: url(#default#VML) }
.changeBg{FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#FFFFFF,endColorStr=#9DCDFA);
}
</style>
运行,ok