这是一个画polygon的例子,画图是采用jsGraphics库。我的部分代码如下:
var Override = ''
var OverrideMode = ''
var StartX = 0
var StartY = 0
var StopX = 0
var StopY = 0
var LineArrayX = new Array()
var LineArrayY = new Array()
var LinePos = 0
var TrackStarted = false
var Canvas
var HiddenTextbox
var Points = ''
var done = false
var Control
var down=false
function Init(e)
{if (e.explicitOriginalTarget.id == '') {
HiddenTextbox = e.explicitOriginalTarget.parentNode.childNodes[0];
if (Override != '') {HiddenTextbox.attributes['mode'].value = OverrideMode; }
Canvas = e.explicitOriginalTarget.parentNode;
Control = Canvas.parentNode;
}
else
{
HiddenTextbox = e.explicitOriginalTarget.childNodes[0];
if (Override != '') {HiddenTextbox.attributes['mode'].value = OverrideMode; }
Canvas = e.explicitOriginalTarget;
Control = Canvas.parentNode;
}
}
function TheMouseDown(e)
{
if(e.explicitOriginalTarget.id=='')
{
return; }
TrackStarted = true;
LineArrayX[LinePos] = e.layerX ;
LineArrayY[LinePos] = e.layerY ;
LinePos++;
Points = Points + (e.layerX) + ',' + (e.layerY) + ' ';}在页面中定义了一个div,
<div id="map_Canvas" onmouse=TheMouseDown(e) onmousemove=TheMouseMove(e) onmouseup=TheMouseUp(e) ></div>
当然这只是部分代码。
奇怪的是有时能正确的画出来,有时却不行,我发现原因在于e.explicitOriginalTarget.id有时能正确得到,有时却为空,这个问题困扰我很久了,请各位指教。