簡単な背景
一部の領域で html Web ビューを使用する iOS アプリを構築しています。これらのページの html ボタンが、できるだけ iOS ボタンのように見えるようにしたかったのです。これを達成するために、タップ状態が必要だったので、タップするとhtmlボタンが押し下げられました。HTML では、これは簡単です。:active や :hover などのスタイルを設定するだけです。私は実際にこれをすでに定義していました。ただし、iOS では、これらの状態はタップでは作動しません (少なくとも通常は)。したがって、私の目標は、ボタンにクラスを追加してタッチスタート時の外観を変更する小さなスクリプトを作成することでした。
問題
しかし、それほど複雑にする必要はなかったことがわかりました...まったくの偶然で、次のコードでテストを実行しました。
document.addEventListener('touchstart', function(event) {
console.log("test");
}, true);
私は JavaScript と jQuery にかなり慣れているので、構文をチェックし、ボタンをタップしたときに eventListener が起動することを確認するだけでした。驚いたことに、css 内のボタンの :active 状態 (および :hover 状態) が起動しました。そのコードは...私の問題を解決しました!
私の質問
ここに私の質問があります: 上記のコードは有効ですか? つまり、これを行うのは悪いことですか?空の eventListener が、デスクトップ ブラウザーが既に提供している動作をトリガーしたかのようです。この方法を使用して何か問題はありますか? 私は緑色ですが、悪い習慣を身につけたくありません。これが悪いコーディング方法である場合は、使用したくありません。
皆さんがこれについて私に与えることができる洞察をありがとう!