Как запустить функцию, когда мышь удерживается с помощью JavaScript - PullRequest
0 голосов
/ 11 июня 2018

У меня есть функция jquery, которая использует холст для создания линий так же, как вы можете сделать с Paint.Функция работает, делая круги, когда мышь перемещается по холсту.Я хотел бы изменить эту функцию для запуска только тогда, когда мышь перемещается по холсту и пользователь удерживает мышь.Вот функция:

$("#canvas").mousemove(function(event) {
  ctx.lineWidth = 4;
  ctx.fillStyle = "fuchsia";
  ctx.beginPath();
  ctx.arc(event.pageX, event.pageY, 6, 0, Math.PI*2, false);
  ctx.fill();
});

Существует ли хотя бы относительно простой способ достижения этого?Я понятия не имею, как даже начать.Любой вклад будет принята с благодарностью!

1 Ответ

0 голосов
/ 11 июня 2018

Выполнить код, если event.which == 1.Это проверяет нажатие левой кнопки (удержание мыши).

Для более MouseEvent.which.

$("#canvas").on('mousemove',function(event) {
  if(event.which == 1){
    var ctx = this.getContext("2d");
    ctx.lineWidth = 4;
    ctx.fillStyle = "fuchsia";
    ctx.beginPath();
    ctx.arc(event.pageX, event.pageY, 6, 0, Math.PI*2, false);
    ctx.fill();
  }    
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas id="canvas" width="200" height="100" style="border:1px solid #000000;"></canvas>
...