検索
ホームページウェブフロントエンドH5 チュートリアルJavascript_html5 チュートリアル スキルにおける高度なジェスチャの使用の概要

IE10 で高度なユーザー入力に対する新たに追加された認識サポート。例: クリック操作を登録すると、addEventListener という文を通じて、現在のユーザーがどのデバイスをクリックしたか、それが指のクリックなのかマウスのクリックなのかを知ることができます。または、スタイラスでクリックします (タブレット デバイスにはすべてスタイラスが付属しています)。

キャンバス id="MyCanvas">キャンバス>
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>
, handleGesture);

最後に、ジェスチャ認識中にどのポインタを処理するかをジェスチャ オブジェクトに伝えます。

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 トランジションと同様に、トランジションとして報告されます。動的ジェスチャは、MSGestureStartMSGestureChange (ジェスチャが続くと繰り返し発生します)、および 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 修飾キーをそれぞれ使用することによって実現されます。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
H5コード:Web開発者向けのベストプラクティスH5コード:Web開発者向けのベストプラクティスApr 16, 2025 am 12:14 AM

H5コードのベストプラクティスには以下が含まれます。1。正しいDoctype宣言と文字エンコーディングを使用します。 2。セマンティックタグを使用します。 3。HTTPリクエストを削減します。 4.非同期負荷を使用します。 5。画像を最適化します。これらのプラクティスは、Webページの効率、保守性、ユーザーエクスペリエンスを向上させることができます。

H5:Web標準とテクノロジーの進化H5:Web標準とテクノロジーの進化Apr 15, 2025 am 12:12 AM

Web標準とテクノロジーは、これまでにHTML4、CSS2、および単純なJavaScriptから進化し、重要な開発を受けてきました。 1)HTML5は、CanvasやWebstorageなどのAPIを導入し、Webアプリケーションの複雑さと互換性を高めます。 2)CSS3はアニメーション関数とトランジション関数を追加して、ページをより効果的にします。 3)JavaScriptは、矢印関数やクラスなど、node.jsおよびES6の最新の構文を通じて開発効率とコードの読みやすさを向上させます。これらの変更により、パフォーマンスの最適化とWebアプリケーションのベストプラクティスの開発が促進されました。

H5はHTML5の速記ですか?詳細の調査H5はHTML5の速記ですか?詳細の調査Apr 14, 2025 am 12:05 AM

H5はHTML5の略語だけでなく、より広い最新のWeb開発テクノロジーエコシステムを表しています。1。H5にはHTML5、CSS3、JavaScript、および関連するAPIおよびテクノロジーが含まれます。 2.より豊かでインタラクティブでスムーズなユーザーエクスペリエンスを提供し、複数のデバイスでシームレスに実行できます。 3. H5テクノロジースタックを使用して、レスポンシブWebページと複雑なインタラクティブ機能を作成できます。

H5およびHTML5:Web開発で一般的に使用される用語H5およびHTML5:Web開発で一般的に使用される用語Apr 13, 2025 am 12:01 AM

H5とHTML5は、同じこと、つまりHTML5を参照します。 HTML5はHTMLの5番目のバージョンであり、セマンティックタグ、マルチメディアサポート、キャンバスとグラフィックス、オフラインストレージ、ローカルストレージなどの新しい機能をもたらし、Webページの表現力と互換性を向上させます。

H5は何を参照していますか?コンテキストの探索H5は何を参照していますか?コンテキストの探索Apr 12, 2025 am 12:03 AM

H5ReferStoHtml5、apivotaltechnologyinwebdevelopment.1)html5introduceSnewelementsandapisforrich、dynamicwebapplications.2)Itupp ortsmultimediawithoutplugins、endancingurexperiencecrossdevices.3)semanticelementsimprovecontentstructurendseo.4)H5'srespo

H5:ツール、フレームワーク、およびベストプラクティスH5:ツール、フレームワーク、およびベストプラクティスApr 11, 2025 am 12:11 AM

H5開発で習得する必要があるツールとフレームワークには、Vue.JS、React、Webpackが含まれます。 1.Vue.jsは、ユーザーインターフェイスの構築に適しており、コンポーネント開発をサポートします。 2.複雑なアプリケーションに適した仮想DOMを介したページレンダリングを最適化します。 3.Webpackは、モジュールのパッケージングに使用され、リソースの読み込みを最適化します。

HTML5の遺産:現在のH5の理解HTML5の遺産:現在のH5の理解Apr 10, 2025 am 09:28 AM

html5hassificlytransformdedwebdeveverment byintroducingsingingelements、endincemultimediasupport、およびrequrovingperformance.1)itmadewebsitesmoreaccessibleandseo-frendlywithsemantelementslike、and.2)

H5コード:アクセシビリティとセマンティックHTMLH5コード:アクセシビリティとセマンティックHTMLApr 09, 2025 am 12:05 AM

H5は、セマンティック要素とARIA属性を介して、WebページのアクセシビリティとSEO効果を改善します。 1.使用などを使用して、コンテンツ構造を整理し、SEOを改善します。 2。ARIA-LabelなどのARIA属性はアクセシビリティを強化し、支援技術ユーザーはWebページをスムーズに使用できます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター