8
任何人都可以帮助我弄清楚为什么这段代码在IE 8上无法工作? (它适用于Chrome,Firefox,Opera)。为什么此代码在IE 8上不起作用?
的代码使用Raphäel.js库,代码允许用户拖动鼠标Raphäel.js元素(如:圆形,矩形贮)
请看看这里:
var paper = Raphael(0, 0, '100%', '100%');
var circle = paper.circle(75, 75, 50);
var rect = paper.rect(150, 150, 50, 50);
var set = paper.set();
set.push(circle, rect);
set.attr({
fill: 'red',
stroke: 0
});
var ox = 0;
var oy = 0;
var dragging = false;
set.mousedown(function(event) {
ox = event.screenX;
oy = event.screenY;
set.attr({
opacity: .5
});
dragging = true;
});
set.mousemove(function(event) {
if (dragging) {
set.translate(event.screenX - ox, event.screenY - oy);
ox = event.screenX;
oy = event.screenY;
}
});
set.mouseup(function(event) {
dragging = false;
set.attr({
opacity: 1
});
});
可能重复[拉斐尔图形不显示在IE8中](http://stackoverflow.com/questions/4501559/raphael-graphic-not-showing-in-ie8) – peirix
它似乎在IE9中工作。当我把IE9放入IE8模式时,我得到这个错误:'SCRIPT5007:无法获得属性'vml'的值:对象为空或未定义raphael-1.5.2-min.js,第7行字符3824' – Eonasdan
有一个问题与一些版本的IE浏览器,如果你尝试访问一个vml元素,它会抛出一个错误,一旦发生恢复是不可能的。无关的,但jQuery票7071有参考这个问题。我相信prototype.js也被修补了。 –