[解決済み】イベントハンドラを「パッシブ」に設定して、ページの応答性を向上させることを検討する。
質問
ドラッグにハンマーを使っているのですが、他のものを読み込むときに、この警告メッセージのようにカクカクするようになりました。
<ブロッククオート入力イベント 'touchstart' の処理は、X ms の遅延が発生しました。 メインスレッドがビジー状態です。イベントハンドラを「パッシブ」としてマークすることを検討してください。 ページをより反応しやすくしてください。
そこで、次のようにリスナーに「passive」を追加してみました。
Hammer(element[0]).on("touchstart", function(ev) {
// stuff
}, {
passive: true
});
という警告が出るのですが、まだ
どうすればいいですか?
初めてこの警告を受けた方のために、この警告は、以下のような最先端の機能によるものです。 パッシブイベントリスナー という、かなり最近(2016年夏)になってブラウザに実装されたものです。からは https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md :
パッシブイベントリスナー は DOM 仕様の新機能で、これにより を排除することで、スクロールのパフォーマンスを向上させることができます。 は、タッチおよびホイールイベントのリスナーでスクロールがブロックされる必要があります。 開発者は、タッチ リスナーおよびホイール リスナーに {passive: true} というアノテーションを付けることができます。 は、preventDefault を決して呼び出さないことを意味します。この機能 Chrome 51、Firefox 49 で出荷され、WebKit に搭載されました。 公式の詳しい説明はこちらをご覧ください。
こちらもご覧ください。 パッシブイベントリスナーとは何ですか?
.jsライブラリがサポートを実装するのを待つ必要があるかもしれません。
JavaScriptライブラリを介して間接的にイベントを処理している場合、その特定のライブラリの機能サポートに翻弄される可能性があります。2019年12月現在、主要なライブラリのサポートは実装されていないようです。いくつか例を挙げます。
- jQuery.js - 継続的な問題 https://github.com/jquery/jquery/issues/2871
- React.js - 継続的な問題 https://github.com/facebook/react/issues/6436
- Hammer.js - フォローアップがないため閉鎖。 https://github.com/hammerjs/hammer.js/pull/987
- パーフェクトスクロールバー - を閉じた。 https://github.com/noraesae/perfect-scrollbar/issues/560
- アンギュラーJS - は、won't fixのため閉鎖されました。 https://github.com/angular/angular.js/issues/15901
関連
-
[解決済み】Uncaught TypeError: nullのプロパティ'value'を読み取ることができない
-
[解決済み】webpack: モジュールが見つかりません。Error: 解決できない(相対パスで)
-
[解決済み】ある要素が可視DOMに存在するかどうかを確認するにはどうすればいいですか?
-
[解決済み】Uncaught ReferenceError。Reactが定義されていない
-
[解決済み] テスト
-
[解決済み】Javascript - ERR_CONTENT_LENGTH_MISMATCH
-
[解決済み】JavaScript ランタイムエラー:'$'が未定義です。
-
[解決済み] ローカルファイルを開くことができません - Chrome: ローカルリソースのロードが許可されていません
-
[解決済み】Uncaught TypeError: 未定義のプロパティ 'msie' を読み取れない - jQuery tools
-
[解決済み] [Solved] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み】Uncaught ReferenceError: angular is not defined - AngularJSが動作しない。
-
[解決済み】Google Conversionsが動作しない - スクリプトが読み込まれない
-
[解決済み】SyntaxError: 'import' と 'export' は 'sourceType: module' とだけ表示されるかもしれない - Gulp
-
[解決済み】このオブジェクトの "forEach "はなぜ関数でないのですか?
-
[解決済み】Uncaught ReferenceError。Firebase は定義されていません。
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。
-
[解決済み】未定義のプロパティ 'forEach' を読み取ることができない
-
[解決済み】パッシブイベントリスナーとは何ですか?
-
[解決済み] JavaScriptでブラウザの "zoom "イベントをキャッチする