Проблема в следующем, ширина и высота моего холста относительно его родителей.В css его ширина и высота установлены на 95%.Это приводит к тому, что моя функция getMousePosition не работает должным образом, что означает, что когда я щелкаю точку холста, фактическая точка, где, например, нарисован прямоугольник, находится далеко от наблюдаемой точки щелчка.
Вот HTML-материал
<div class="Container">
<div id = 'left-div'>
<canvas class = "Blackboard" id = "blackboard-canvas" >
</canvas>
</div>
<div id='right-div'>
<div id = 'tools-div'>
<ul>
<li><a href='#colorOption'>Color Options</a></li>
<li><a href='#toolbar-option'>Tool Bar</a></li>
</ul>
<div id='colorOption'>
<canvas id='color-option-canvas' >
</canvas>
</div>
<div id='toolbar-option'>
Tool bar options goes here
</div>
</div>
</div>
<br style="clear:both;"/>
</div>
и соответствующий css
.Blackboard{
border-style: ridge;
border-color: gray;
border-width: 5px;
width: 96%;
height: 96%;
cursor: crosshair;
position: relative;
-webkit-border-radius: 16px;
-webkit-box-shadow: 0px 6px 7px #0a0505;
};
.Blackboard:active{
cursor: crosshair;
}
.Container{
border-color: #666;
border-width: 10px;
border-style: inset;
background-color: gray;
width: 700px;
height: 400px;
}
#right-div, #left-div{
height: 100%;
}
#left-div{
float: left;
width: 60%;
}
#right-div{
float: right;
background-color: black;
width: 40%;
}
Есть ли способ «нормализовать» это или что-то?
РЕДАКТИРОВАТЬ:
вот этоjfiddle http://jsfiddle.net/EZktE/