1

前の質問で、HTMLSELECTの多くの機能がIEでサポートされていないことを確認しました。次の要件を満たす、経験から推奨する代替ウィジェットはありますか?

  1. プロパティを尊重しcontentEditableます(trueの場合は選択の変更を許可しません)
  2. 個々のオプションのプロパティを尊重しdisabledます(「グレー表示」または取り消し線付きのフォントで表示し、選択不可にします)
  3. オプショングループ(OPTGROUP要素)をサポート
  4. およびおよびすべてのサブ要素などのstyleオプションをサポートしますbordermarginSELECT
  5. OPTIONおよびOPTGROUP要素の動的な追加と削除をサポートします
  6. IEバージョン6以降で上記をサポート

編集:@Joel Coehoornが指摘したように、上記の項目3と5は現在IEでサポートされています。これらは、置換ウィジェットで見落とされないようにするためにここに含まれています。

4

2 に答える 2

2

最後に、IE6 +が#3と#5をサポートしているかどうかを確認し、OPTGROUPを(誤)使用して他のほとんどの項目を回避できます。

これを行うには、次のように、オプションを含まないoptgroupを作成します。

<optgroup label="--"></optgroup>

ラベルは好きなように作ることができますが、ポイントは、通常のオプションのように見えるが選択できないアイテムになってしまうということです。それはあらゆる種類の楽しみへの扉を開きます:

  • 特定のアイテムをoptgroupsとして追加することにより、それらを無効にすることができます
  • 現在のオプションを除くすべてのオプションをoptgroupsとしてエンコードすることで、選択の変更を防ぐことができます(必要に応じて、他のテキストキーを使用して無効になっていることを示します)
  • 空白、-、または-を使用できます。グループ全体ではなく、単純な区切り文字を示すラベル。

とにかく、それはあなたのリストの#1と#2のほとんどを占めています-少なくとも機能的なポイント。

「(誤)使用」の理由は、これがほとんどのhtmlバリデーターを通過しないためです。ただし、このトリックはすべての主要なブラウザで機能します。

于 2008-11-20T17:22:54.740 に答える
1

私はそのようなウィジェットを書いています。私は次のバージョンで optgroup を実装する予定です。うまくいけば数日後になるでしょう。

デモページ

svn

于 2010-03-12T04:29:49.883 に答える