Javascript 为什么这个代码不能与IE 8一起工作?

Javascript 为什么这个代码不能与IE 8一起工作?,javascript,dom-events,raphael,Javascript,Dom Events,Raphael,有人能帮我弄明白为什么这段代码在IE8上不起作用吗?(它适用于Chrome、Firefox和Opera) 代码使用库,代码允许用户用鼠标拖动Raphäel.js元素(例如圆形、矩形) 请看这里: var paper=Raphael(0,0,'100%,'100%); var循环=纸张循环(75,75,50); var rect=paper.rect(150,150,50,50); var set=paper.set(); 设置推送(圆形、矩形); set.attr({ 填充:“红色”, 行程:

有人能帮我弄明白为什么这段代码在IE8上不起作用吗?(它适用于Chrome、Firefox和Opera)

代码使用库,代码允许用户用鼠标拖动Raphäel.js元素(例如圆形、矩形)

请看这里:

var paper=Raphael(0,0,'100%,'100%); var循环=纸张循环(75,75,50); var rect=paper.rect(150,150,50,50); var set=paper.set(); 设置推送(圆形、矩形); set.attr({ 填充:“红色”, 行程:0 }); var-ox=0; var oy=0; var=false; set.mousedown(函数(事件){ ox=event.screenX; oy=事件。屏幕; set.attr({ 不透明度:.5 }); 拖动=真; }); set.mousemove(函数(事件){ 如果(拖动){ set.translate(event.screenX-ox,event.screenY-oy); ox=event.screenX; oy=事件。屏幕; } }); set.mouseup(函数(事件){ 拖动=假; set.attr({ 不透明度:1 });
});ie8和ie9处理鼠标移动事件的方式似乎有错误

ie9中可能存在重复。当我将IE9置于IE8模式时,我遇到了以下错误:
SCRIPT5007:无法获取属性“vml”的值:对象为null或未定义的raphael-1.5.2-min.js,第7行字符3824
IE的某些版本存在一个问题,如果您尝试访问vml元素,它会抛出一个错误,一旦发生,就无法恢复。不相关,但jQuery票证7071引用了此问题。我相信prototype.js也为此进行了修补。