Показать сообщение отдельно
  #1 (permalink)  
Старый 13.08.2012, 14:34
Новичок на форуме
Отправить личное сообщение для eugen2002 Посмотреть профиль Найти все сообщения от eugen2002
 
Регистрация: 13.08.2012
Сообщений: 4

вместо задания события - поставить условие
Добрый день!
Подскажите, пожалуйста!
Вопрос такой:
нужно сделать рисование мышью (например в firefox 14.0.1), но использоваться должно только событие "mousemove", без использования "mousedown" и "mouseup". При этом "mousedown" и "mouseup" должны быть заменены на некое условие(или условия) включенное в "mousemove". Т.е. чтобы рисование в "mousemove" выполнялось только при нажатой левой клавише мыши. Пробовал поставить условие if ( e.button == 0 ) - не то
Код такой:
<html>
<head>
<title>Paint</title>
<body>
<canvas id="canvas" width="1000" height="800"> </canvas>
<script>
var x = 0;
var y = 0;

window.onload = function()
{
canvas.addEventListener('mousedown', mdown );
canvas.addEventListener('mousemove', mmove );
}

function mdown(e)
{
x = e.clientX;
y = e.clientY;
}

function mmove(e)
{
if ( e.button == 0 )
{
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.moveTo(x,y);
ctx.lineTo(e.clientX,e.clientY);
ctx.stroke();
x = e.clientX;
y = e.clientY;
}
}

</script>
</body>
</html>

В таком варианте идет просто отрабатывание "mousemove" без участия левой клавиши.
Ответить с цитированием