Javascript_html5 チュートリアル スキルにおける高度なジェスチャの使用の概要
IE10 で高度なユーザー入力に対する新たに追加された認識サポート。例: クリック操作を登録すると、addEventListener という文を通じて、現在のユーザーがどのデバイスをクリックしたか、それが指のクリックなのかマウスのクリックなのかを知ることができます。または、スタイラスでクリックします (タブレット デバイスにはすべてスタイラスが付属しています)。
MyCanvas.addEventListener( "MSPointerDown"
, MyBack, false); function MyBack(e) { >
上記のコードは、現在のユーザーがどのデバイスをクリックしているかを識別し、コールバック メソッドの e.pointerType を通じてそれを決定します。マウスが 4、スタイラスが 3、指が 2 です。値 1 がどのようなデバイスであるかについては、まだ研究されていません。
もう 1 つ注意すべき点は、JavaScript で入力デバイスの認識を追加する場合、登録されるメソッド イベントも少し異なることです。
addEventListener によって追加されたイベントは MSPointerDown です IE10 では、このような複数デバイスの認識では、通常のクリック機能に影響を与えない限り、指のクリックが優先されます。ただし、IE10 はユーザーの入力デバイスを認識するだけでなく、多くの高度なジェスチャもサポートしています 以下は IE10 の高度なジェスチャ サポートのデモです
ジェスチャー オブジェクトの作成
Web サイトでジェスチャを処理する最初のステップは、ジェスチャ オブジェクトをインスタンス化することです。
<span style="COLOR: blue">var<p> myGesture = <span style="COLOR: blue">new</span></p> MSGesture();</span>
次に、ジェスチャのターゲット要素を指定します。ブラウザは要素上でジェスチャ イベントをトリガーします。同時に、この要素はイベントの座標空間を決定することもできます。
elm = document.getElementById(<span style="COLOR: maroon">"someElement"</span>
<span style="COLOR: blue">var</span> myGesture = <span style="COLOR: blue">new</span> MSGesture();
elm.addEventListener(<span style="COLOR: maroon">"MSGestureChange"</span>
最後に、ジェスチャ認識中にどのポインタを処理するかをジェスチャ オブジェクトに伝えます。
elm.addEventListener(<span style="COLOR: maroon">"MSPointerDown"</span>, <span style="COLOR: blue">function</span> (evt) {
<span style="COLOR: rgb(0,100,0)">// adds the current mouse, pen, or touch contact for gesture recognition</span>
myGesture.addPointer(evt.pointerId);
});
注: 要素がデフォルトのタッチ操作 (パンやズームなど) を実行しないようにし、入力用のポインター イベントを提供するには、–ms-touch-action
を使用して要素を構成する必要があることを忘れないでください。
ジェスチャ オブジェクトに有効なターゲットが設定され、少なくとも 1 つのポインタが追加されると、ジェスチャ イベントの起動が開始されます。ジェスチャ イベントは、静的ジェスチャ (クリックまたはホールドなど) と動的ジェスチャ (ピンチ、回転、スワイプなど) の 2 つのタイプに分類できます。
クリック最も基本的なジェスチャ認識はクリックです。クリックが検出されると、ジェスチャ オブジェクトのターゲット要素で MSGestureTap
イベントが発生します。クリック イベントとは異なり、タップ ジェスチャは、ユーザーが移動せずにタッチ、マウス ボタンを押す、またはスタイラスでタッチした場合にのみトリガーできます。これは、ユーザーが要素をクリックしているか、ユーザーが要素をドラッグしているかを区別したい場合に便利です。
長押しジェスチャとは、ユーザーが 1 本の指で画面をタッチし、しばらく押したまま動かさずに指を持ち上げる操作を指します。長押し操作中に、ジェスチャのさまざまな状態に対して MSGestureHold
イベントが複数回トリガーされます:
element.addEventListener("MSGestureHold", handleHold);
function handleHold(evt) {
if (evt.detail & evt.MSGESTURE_FLAG_BEGIN) {
// 開始はジェスチャの開始を示します。ホールド ジェスチャの場合、これはユーザーが指を離すと完全なプレス アンド ホールドになるまでその場に保持されていることを意味します。
}
if (evt.detail & evt.MSGESTURE_FLAG_END) {
// End はジェスチャの終了を示します。
}
if (evt.detail & evt.MSGESTURE_FLAG_CANCEL) {
//キャンセルは、ユーザーがジェスチャーを開始したがキャンセルしたことを示します。ホールドの場合、これはユーザーが持ち上げる前にドラッグしたときに発生し、ジェスチャー認識が完了したことを示します。
}
}
動的なジェスチャ (ピンチ、回転、スワイプ、ドラッグ)
動的なジェスチャ (ピンチや回転など) は、CSS 2D トランジションと同様に、トランジションとして報告されます。動的ジェスチャは、MSGestureStart
、MSGestureChange
(ジェスチャが続くと繰り返し発生します)、および MSGestureEnd
の 3 つのイベントをトリガーできます。各イベントには、スケーリング (縮小)、回転、変形、速度に関する情報が含まれています。
動的なジェスチャはトランジションとして報告されるため、CSS 2D トランジションを含む MSGesture
を使用して写真やパズルなどの要素を簡単に操作できます。たとえば、次の方法で要素の拡大縮小、回転、ドラッグを有効にできます。
targetElement.addEventListener("MSGestureChange", manageElement);
function recruitElement(e) {
// 提供されている組み込み慣性を無効にする場合は、次のコードのコメントを解除します動的ジェスチャ認識による
// if (e.detail == e.MSGESTURE_FLAG_INERTIA)
// return;
var m = new MSCSSSMatrix(e.target.style.transform); // 最新情報を取得要素の CSS 変換
e.target.style.transform = m
.translate(e.offsetX, e.offsetY) // 変換の原点をジェスチャの中心の下に移動します
.rotate(e . 回転 * 180 / Math.PI) // 回転を適用
.scale(e.scale) // スケールを適用
.translate(e.translationX, e.translationY) // 移動を適用
.translate ( -e.offsetX, -e.offsetY); // 変換原点を後方に移動します
}
スケーリングや回転などの動的なジェスチャはマウス操作をサポートできます。回転によって実行 これは、マウス ホイールを使用しながら、CTRL または SHIFT 修飾キーをそれぞれ使用することによって実現されます。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript は Web 開発で広く使用されているプログラミング言語であり、WebSocket はリアルタイム通信に使用されるネットワーク プロトコルです。 2 つの強力な機能を組み合わせることで、効率的なリアルタイム画像処理システムを構築できます。この記事では、JavaScript と WebSocket を使用してこのシステムを実装する方法と、具体的なコード例を紹介します。まず、リアルタイム画像処理システムの要件と目標を明確にする必要があります。リアルタイムの画像データを収集できるカメラ デバイスがあるとします。
