確かに便利な機能ですが、無効にする方法はありますか?たとえば、フォームが単一のテキストフィールドで、横に「クリア」ボタンがある場合は、Xも表示するのは無用です。このような場合は、削除するほうが良いでしょう。
それはできますか?できれば、どうですか?
ボックスの ::-ms-clear
疑似要素 のスタイルを設定します。
.someinput::-ms-clear {
display: none;
}
width
とheight
を0px
に設定するのが良いと思いました。それ以外の場合、IE10はフィールドで定義されているパディングpadding-right
を無視します。これは、入力フィールドにオーバーレイした「X」アイコンの上にテキストが入力されないようにするためのものです。 IE10が内部的に入力のpadding-right
を::--ms-clear
疑似要素に適用していて、疑似要素を隠してもpadding-right
値がinput
に復元されていないと思います。
これは私にとってはうまくいった:
.someinput::-ms-clear {
width : 0;
height: 0;
}
この規則をtext型のすべての入力フィールドに適用するので、後で複製する必要はありません。
input[type=text]::-ms-clear { display: none; }
次のものを使用することで、特定性が低下することさえあります。
::-ms-clear { display: none; }
私はこの答えを追加する前でも後者を使いましたが、ほとんどの人はそれより具体的であることを好むと思いました。両方の解決策はうまくいきます。
::-ms-clear
( http://msdn.Microsoft.com/ja-jp/library/windows/apps/hh465740.aspx )にスタイルを設定する必要があります。
::-ms-clear {
display: none;
}
また、パスワードフィールドの::-ms-reveal
擬似要素のスタイルも設定します。
::-ms-reveal {
display: none;
}
ページが互換モードで実行されているときは、すべてのスタイルとCSSベースのソリューションが機能しないことは注目に値します。互換モードレンダラーは、ブラウザにxが表示されていても:: - ms-clear要素を無視します。
ページを互換モードで実行する必要がある場合は、Xが表示されたままになっている可能性があります。
私の場合、私はいくつかのサードパーティ製データバインドコントロールを使用しています、そして私たちの解決策は "onchange"イベントを処理し、フィールドがxボタンでクリアされたらバッキングストアをクリアすることでした。