質問: Javascriptを使用して、要素の:アクティブなCSS疑似クラスを有効にしますか? これは可能ですか? たとえば、ユーザーが「戻る」キーを押したときに「mousedown」イベントがトリガーされた場合、要素をアクティブなスタイルでレンダリングするにはどうすればよいですか? 私はクラスを使ってこれを行うことが可能であることを知っていますが、私は既存の:アクティブなスタイルを使うことを大いに好んでいます。
回答: CSS 2.1仕様によると、:active疑似クラスがwhile : > > 要素がユーザーによってアクティブ化されています。たとえば、 > ユーザーがマウスボタンを押して離した回数。 > > > あなたはイベントターゲットとしてsubject要素を持つmousedownイベントを送出できなければならず、対応するmouseupイベントが送出されるまでアクティブでなければなりません。それがうまくいけば、十分なブラウザではそれを有効にするために信頼性の高い方法で動作しない可能性があります。 適切なクラスを追加/削除する方がはるかに簡単です(より広くサポートされます)。 ### 編集 DOMActivateの使用例を次に示します。ある要素に対してactivateイベントをディスパッチすると、関連付けられたonactivateリスナが起動されますが、アクティブ化されている要素の外観は変更されません。 おそらく、activateイベントをリスンし、要素を強調表示するクラスを追加し、 *setTimeout* などを使用して数分後にそれを削除することで、アクチベーションをシミュレートできます。 p:active { background-color: red; } div:active { background-color: green; } ```