Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 05.07.2013, 10:50
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Сообщение от IVAAAAN Посмотреть сообщение
Но теперь когда я выбираю другой инструмент, то их становится как бы два
вы не показали код, в котором происходит выбор нового инструмента
вряд ли так кто сможет помочь
Ответить с цитированием
  #12 (permalink)  
Старый 05.07.2013, 11:05
Аспирант
Отправить личное сообщение для IVAAAAN Посмотреть профиль Найти все сообщения от IVAAAAN
 
Регистрация: 04.07.2013
Сообщений: 47

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;
			  
			}
Ответить с цитированием
  #13 (permalink)  
Старый 05.07.2013, 11:10
Аспирант
Отправить личное сообщение для IVAAAAN Посмотреть профиль Найти все сообщения от IVAAAAN
 
Регистрация: 04.07.2013
Сообщений: 47

Ну а выбираю инструмент я так:
startDraw('purge');
onclick="startDraw('brush');"
и т.д
Ответить с цитированием
  #14 (permalink)  
Старый 05.07.2013, 11:22
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Сообщение от IVAAAAN Посмотреть сообщение
onclick="startDraw('brush');"
это что за onclick сам по себе?
наверно вы создаете новый обработчик а старый не удаляете
либо удаляйте старый, либо вообще перенесите tool в какую-нибудь более-менее глобальную переменную а обработчик используйте только один
Ответить с цитированием
  #15 (permalink)  
Старый 05.07.2013, 11:35
Аспирант
Отправить личное сообщение для IVAAAAN Посмотреть профиль Найти все сообщения от IVAAAAN
 
Регистрация: 04.07.2013
Сообщений: 47

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

После того как я выберу другой, то получается что два инструмента одновременно работают)
Ответить с цитированием
  #16 (permalink)  
Старый 05.07.2013, 11:44
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Сообщение от IVAAAAN Посмотреть сообщение
Вы не поняли, вот как происходит смена инструмента:
<button onclick="startDraw('brush');">Кисть</button>
<button onclick="startDraw('purge')">Ластик</button>
нет я правильно угадал
при нажатии на кнопку запускается функция 'startDraw' а внутри нее добавляются новые обработчики событий с помощью 'addEventListener'
старые не исчезнут просто так
я уже написал что можно сделать
Ответить с цитированием
  #17 (permalink)  
Старый 05.07.2013, 11:53
Аспирант
Отправить личное сообщение для IVAAAAN Посмотреть профиль Найти все сообщения от IVAAAAN
 
Регистрация: 04.07.2013
Сообщений: 47

Спасибо, сделал как Вы описали во втором варианте
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS: работает на сервере, не работает из папки -majestic- Общие вопросы Javascript 2 02.08.2012 14:41
Не работает push! Динамическая вставка TSEH25 ExtJS 5 03.07.2012 13:00
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41
ajax запросы, работает на одних компах и не работает на других vtornik23 AJAX и COMET 2 22.03.2010 18:22