<input> 要素を Javascript でスタイリングしている場合、この方法で設定したプロパティは :focus ルールで無視されるようです。
これを示す例があります:
- 最初に入力要素の背景と境界線は、周囲の要素 (div.header) と同じに設定されます。
- [open] リンクをクリックすると、最初は表示されていなかった div.body 要素が開きます。
- タイトルがテキスト フィールドであることを明確にしたいので、入力の背景と境界線を変更して、表示されたテキスト領域に一致させます。
テキストエリアと入力の両方に :focus ルールを設定して、テキスト フィールドにフォーカスがあることを明確に示すように、背景を黄色にします。
しかし、これらのプロパティをプログラムで設定したため、これは入力要素では機能しません。それらを設定しない場合、:focus は期待どおりに機能します。:focus ルールが にも設定されていないプロパティを設定する.css()
場合、それらは受け入れられます。
これは Safari、Firefox、Chrome、および IE に当てはまるため、明らかに「予期される動作」ですが、オンラインで (なぜ) これが正しいかを示すものは見つかりません。
明らかに、ぼかしとフォーカスのハンドラーを使用して必要なものを実装できますが、なぜこれがそうなのかを理解しようとしています。