2011-09-08 88 views
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 
 
    }); 
 
});

+2

可能重複[拉斐爾圖形不顯示在IE8中](http://stackoverflow.com/questions/4501559/raphael-graphic-not-showing-in-ie8) – peirix

+1

它似乎在IE9中工作。當我把IE9放入IE8模式時,我得到這個錯誤:'SCRIPT5007:無法獲得屬性'vml'的值:對象爲空或未定義raphael-1.5.2-min.js,第7行字符3824' – Eonasdan

+0

有一個問題與一些版本的IE瀏覽器,如果你嘗試訪問一個vml元素,它會拋出一個錯誤,一旦發生恢復是不可能的。無關的,但jQuery票7071有參考這個問題。我相信prototype.js也被修補了。 –

回答

相關問題