1
我有這個JavaScript文件($(「#paper2」)是一個div)jQuery SVG創建折線,Firefox的錯誤?
var lines=0;
$(document).ready(function() {
$("#paper2").svg({
onLoad: function() {
svg2 = $("#paper2").svg('get');
root2= svg2.root();
$("#paper2").mousedown(function(ev) {
lines++;
var polyline = svg2.polyline([[ev.pageX-1-this.offsetLeft , ev.pageY-this.offsetTop-1], [ev.pageX+1-this.offsetLeft , ev.pageY-this.offsetTop+1]],
{fill: 'none', stroke: 'black', strokeWidth: 3,
id: 'polyline'+lines})
$("#paper2").mousemove(function(ev) {
var polyline= $('#polyline' + lines);
polyline.attr("points", polyline.attr("points")+ ' ' + (ev.pageX-this.offsetLeft)+','+(ev.pageY-this.offsetTop));
});
$("#paper2").mouseup(function(ev) {
var div= $("#paper2");
div.unbind('mousemove');
div.unbind('mouseup');
})
});
},
settings: {}
});
});
基本上當我持有的div頂部的鼠標鍵,它開始繪製跟隨鼠標的折線,讓一些基本圖紙。它在Opera和Chrome上運行良好,但在Firefox上,它在我第一次繪製第一條折線時工作正常(釋放鼠標,然後再次按下它),而不是繪製它,就像我在拖動圖像一樣(所有SVG的東西那是在我的div裏面跟着我的鼠標)並且沒有調用鼠標事件。因此,一旦我第二次釋放鼠標按鈕,它就會正常開始繪製多段線,但點擊不會關閉,如果再次單擊鼠標向上的事件,它會再次開始正常工作。這隻發生在我第二次嘗試繪製線條時,第一,第三和其他所有其他正常工作。
任何人都知道我是否做錯了什麼,或者如果這確實是一個Firefox的錯誤,如果有的話,任何人都知道如何做一個解決方法?
這樣做的伎倆,非常感謝! – Hoffmann 2012-07-23 13:30:13