2013-06-19 29 views
1

1-我有很多文本元素,我拉比爾js繪製,我加了拖動&下降可能性給他們(整個raphael文件),其中大部分是拖動完美,但有一些文本元素向錯誤的方向移動我不知道爲什麼?raphael js:文本元素在錯誤的方向拖放

在這個jsfiddle中,我只畫出了3個文本元素的例子,我注意到在錯誤方向上移動的文本元素在矩陣中有「-1」這樣的「0 0.9407 -1 0 473.4541 293.4927」,這些矩陣的值是通過紅粉插畫(出口成分至SVG)

http://jsfiddle.net/xperali/g6Xav/

2-我想也使文本元素不能被選擇,我試圖用event.preventDefault();取消鼠標事件等「的onmouseover '和'onmouseout'和'onclick'沒有任何成功

我爲此搜索了Google問題,我什麼都沒找到,有什麼建議嗎?

解決方案: finaly,我用raphael-pan-zoom plugin,使平移和縮放functionnalities和正常工作!

回答

1

拉斐爾問題似乎比你的第二個問題更具挑戰性,這是我會採取的一個措施。你可以用一個小小的css和一個屬性(IE10和Opera)來使這些不可選。

text { /* Use a more applicable selector here - text is potentially too generic */ 
    -khtml-user-select: none; 
    -webkit-user-select: none; 
    -ms-user-select: none; 
    -moz-user-select: -moz-none; 
    user-select: none; 
    /*cursor:pointer;*/ 
} 

Fiddle

這是解決了大多數問題,但Opera和IE10你需要能夠在「上」的元素,即不能選擇=設置其他屬性。如果你無法在元素的聲明中找到方法,可以通過javascript來設置它。

我確實通過玩奇數出來的m:值把它變成m:'0.9407 0 0 1 473.4541 293.4927'm:'0 0.9407 -1 0 473.4541 293.4927'

但是,我意識到你有這個標籤垂直的原因,這是我無法工作的部分。只要您將該標籤垂直放置,就會翻轉拖曳的方向軸。這是因爲你有效地旋轉了自己的形狀,並且在被拖動時它似乎保留了它自己的方向感。

如果你有興趣,here是一個小提琴,我把標籤繞回到它的正常方向,它和其他人一樣。

0

finaly,我用raphael-pan-zoom plugin,啓用平移和縮放功能,它工作正常! 感謝JonVD提供的答案,但是我有很多這個問題的文本元素,我不能每次都隨機更改m值。

謝謝了很多的努力,反正你解決了第二個問題

+0

很高興見到你有一個雙贏=)這是一個棘手的一個與振軸線! – JonVD