Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает рисовалка canvas (https://javascript.ru/forum/misc/39592-ne-rabotaet-risovalka-canvas.html)

mta88 05.07.2013 10:50

Цитата:

Сообщение от IVAAAAN (Сообщение 260335)
Но теперь когда я выбираю другой инструмент, то их становится как бы два

вы не показали код, в котором происходит выбор нового инструмента
вряд ли так кто сможет помочь:)

IVAAAAN 05.07.2013 11:05

switch(tool){
				case 'brush':
				
				  ctx.lineTo( x, y );
			      ctx.stroke();
			      ctx.beginPath();
			      ctx.moveTo( x, y );
			      break;
			  
			  case 'purge':
			  	
			  	ctx.clearRect(x, y, ctx.lineWidth, ctx.lineWidth);
			  	break;
			  
			}

IVAAAAN 05.07.2013 11:10

Ну а выбираю инструмент я так:
startDraw('purge');
onclick="startDraw('brush');"
и т.д

mta88 05.07.2013 11:22

Цитата:

Сообщение от IVAAAAN (Сообщение 260340)
onclick="startDraw('brush');"

это что за onclick сам по себе?:-?
наверно вы создаете новый обработчик а старый не удаляете
либо удаляйте старый, либо вообще перенесите tool в какую-нибудь более-менее глобальную переменную а обработчик используйте только один

IVAAAAN 05.07.2013 11:35

Вы не поняли, вот как происходит смена инструмента:
<button onclick="startDraw('brush');">Кисть</button>
<button onclick="startDraw('purge')">Ластик</button>

После того как я выберу другой, то получается что два инструмента одновременно работают)

mta88 05.07.2013 11:44

Цитата:

Сообщение от IVAAAAN (Сообщение 260345)
Вы не поняли, вот как происходит смена инструмента:
<button onclick="startDraw('brush');">Кисть</button>
<button onclick="startDraw('purge')">Ластик</button>

нет я правильно угадал
при нажатии на кнопку запускается функция 'startDraw' а внутри нее добавляются новые обработчики событий с помощью 'addEventListener'
старые не исчезнут просто так
я уже написал что можно сделать

IVAAAAN 05.07.2013 11:53

Спасибо, сделал как Вы описали во втором варианте :)


Часовой пояс GMT +3, время: 11:18.