ブラウザのWacomが移動をキャンセルする

パブロクリスチアーノ

私は現在、wacom intousを使用して、ブラウザーのキャンバスに何かをペイントしようとしています。

コードは非常に基本的で、マウスの位置を見つけて、マウスがクリックされたときにパスを描画する以外に何もしません。

これは、マウスを使用すると期待どおりに機能します。wacomタブレットを使用すると、約20px後に移動がキャンセルさlostpointercaptureれ、pointercancelイベントとイベントが発生します。

これはコードです:

(function() {


var canvas = document.querySelector('.canvas');
  var ctx = canvas.getContext('2d');

  var currentPosition = { 
    x: 0, 
    y: 0 
  };

  function init() {
    adjustCanvasSize();
  }

  function adjustCanvasSize() {
    ctx.canvas.width = window.innerWidth;
    ctx.canvas.height = window.innerHeight;
  }

  function setPosition(ev) {
    currentPosition.x = ev.clientX;
    currentPosition.y = ev.clientY;
  }

  function draw(ev) {
    ev.preventDefault();
    if (ev.buttons !== 1) {
      return;
    }
    ctx.beginPath(); 
    ctx.lineWidth = 1; 
    ctx.lineCap = 'round'; 
    ctx.strokeStyle = '#1a1b1c'; 
    ctx.moveTo(currentPosition.x, currentPosition.y); 
    setPosition(ev);
    ctx.lineTo(currentPosition.x, currentPosition.y);
    ctx.stroke(); 
  }

  document.addEventListener('pointermove', draw);
  document.addEventListener('pointerdown', setPosition);
  document.addEventListener('pointerenter', setPosition);

  init();
})();

ワコムが数ピクセル後に描画を停止する理由を誰かが知っていますか?

shadofx

数ピクセルを通過した後の「lostpointercapture」PointerEventで、この正確な問題に遭遇しました

https://jsfiddle.net/mr1z7qg3/

解決策は、を追加することです

touch-action: none; 

描画される場所にスタイルを設定します。そうしないと、ブラウザはそれをパン/ズームタッチジェスチャとして解釈しますhttps://developer.mozilla.org/en-US/docs/Web/CSS/touch-action

... Chromeの場合

Firefoxでは、代わりにabout:configにdom.w3c_pointer_events.dispatch_by_pointer_messagesが必要です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ブラウザウィンドウが縮小/移動すると、キャンバスのクリックイベントが台無しになります

分類Dev

ユーザーのマウスを[OK] / [キャンセル]ボタンに移動することをお勧めしますか?

分類Dev

HttpRequestをキャンセルした後、サーバーからのタイムアウトまでブラウザがハングする

分類Dev

モバイルブラウザでキーダウンをキャンセルする方法

分類Dev

Webブラウザが不明なURLスキームに移動しようとするのを防ぎます

分類Dev

ブラウザウィンドウが常に垂直方向に移動/スクロールするのを防ぐことは可能ですか?

分類Dev

ブラウザが複数のファイルのダウンロード要求をキャンセルしています

分類Dev

ブラウザの幅を広げるとCSSdivが下に移動します

分類Dev

画像の下にブートストラップ3カルーセルキャプションを移動する方法は?

分類Dev

ブラウザはどのようにサーバーにキャンセルを通知しますか?

分類Dev

ServiceWorkerによって作成されたブラウザからの通知をキャンセルします

分類Dev

JSレベルでキャッシュをクリアする方法はありますか?ブラウザのキャッシュ/セッションとCookieをクリアする必要があります

分類Dev

外部URLにリダイレクトすると、通常モードのブラウザではリクエストがキャンセルされますが、セキュリティモードを無効にすると機能します

分類Dev

ブラウザのサイズが変更されると、テキストが上下に移動します

分類Dev

ユーザーがブラウザを閉じるか、他のページに移動したときにメッセージを表示する

分類Dev

インストールされているすべての主要なブラウザのキャッシュを自動的にクリアします

分類Dev

ページを手動で更新するときに、ブラウザのクローズ/更新確認モーダルをキャンセルするにはどうすればよいですか?

分類Dev

WPFのウィンドウ間を移動する方法は?(ブラウザではありません)

分類Dev

CDNが特定のドキュメントをキャッシュするのに、ブラウザがキャッシュしないのはなぜですか?

分類Dev

CSSスタイル-ブラウザウィンドウのサイズが変更されると、要素は中央に向かって移動します

分類Dev

ブラウザウィンドウのクローズイベントをキャプチャする方法は?

分類Dev

静的ファイルのブラウザキャッシュを活用する

分類Dev

ブラウザウィンドウの塗りつぶしキャンバスのサイズを動的に変更する

分類Dev

ブラウザのサイズを変更すると、h3要素のテキストが移動します

分類Dev

キャンセルボタンをクリックすると、前のページに移動する方法

分類Dev

単一ページ、カルーセルスタイル、スライドWebサイト:デフォルトでホームスライドを使用せずに、ブラウザの戻るボタンで前のスライドに移動しますか?

分類Dev

ASP.NET Core MVCでのブラウザーの中止時にHttpRequestが中止(キャンセル)されない

分類Dev

FFMPEGを使用してブラウザのタブコンテンツをキャプチャする方法

分類Dev

Vue.js:ブラウザがhrefリンクに移動するのを防ぎ、代わりに@clickメソッドのみを実行する方法は?

Related 関連記事

  1. 1

    ブラウザウィンドウが縮小/移動すると、キャンバスのクリックイベントが台無しになります

  2. 2

    ユーザーのマウスを[OK] / [キャンセル]ボタンに移動することをお勧めしますか?

  3. 3

    HttpRequestをキャンセルした後、サーバーからのタイムアウトまでブラウザがハングする

  4. 4

    モバイルブラウザでキーダウンをキャンセルする方法

  5. 5

    Webブラウザが不明なURLスキームに移動しようとするのを防ぎます

  6. 6

    ブラウザウィンドウが常に垂直方向に移動/スクロールするのを防ぐことは可能ですか?

  7. 7

    ブラウザが複数のファイルのダウンロード要求をキャンセルしています

  8. 8

    ブラウザの幅を広げるとCSSdivが下に移動します

  9. 9

    画像の下にブートストラップ3カルーセルキャプションを移動する方法は?

  10. 10

    ブラウザはどのようにサーバーにキャンセルを通知しますか?

  11. 11

    ServiceWorkerによって作成されたブラウザからの通知をキャンセルします

  12. 12

    JSレベルでキャッシュをクリアする方法はありますか?ブラウザのキャッシュ/セッションとCookieをクリアする必要があります

  13. 13

    外部URLにリダイレクトすると、通常モードのブラウザではリクエストがキャンセルされますが、セキュリティモードを無効にすると機能します

  14. 14

    ブラウザのサイズが変更されると、テキストが上下に移動します

  15. 15

    ユーザーがブラウザを閉じるか、他のページに移動したときにメッセージを表示する

  16. 16

    インストールされているすべての主要なブラウザのキャッシュを自動的にクリアします

  17. 17

    ページを手動で更新するときに、ブラウザのクローズ/更新確認モーダルをキャンセルするにはどうすればよいですか?

  18. 18

    WPFのウィンドウ間を移動する方法は?(ブラウザではありません)

  19. 19

    CDNが特定のドキュメントをキャッシュするのに、ブラウザがキャッシュしないのはなぜですか?

  20. 20

    CSSスタイル-ブラウザウィンドウのサイズが変更されると、要素は中央に向かって移動します

  21. 21

    ブラウザウィンドウのクローズイベントをキャプチャする方法は?

  22. 22

    静的ファイルのブラウザキャッシュを活用する

  23. 23

    ブラウザウィンドウの塗りつぶしキャンバスのサイズを動的に変更する

  24. 24

    ブラウザのサイズを変更すると、h3要素のテキストが移動します

  25. 25

    キャンセルボタンをクリックすると、前のページに移動する方法

  26. 26

    単一ページ、カルーセルスタイル、スライドWebサイト:デフォルトでホームスライドを使用せずに、ブラウザの戻るボタンで前のスライドに移動しますか?

  27. 27

    ASP.NET Core MVCでのブラウザーの中止時にHttpRequestが中止(キャンセル)されない

  28. 28

    FFMPEGを使用してブラウザのタブコンテンツをキャプチャする方法

  29. 29

    Vue.js:ブラウザがhrefリンクに移動するのを防ぎ、代わりに@clickメソッドのみを実行する方法は?

ホットタグ

アーカイブ