0

さて、私は Dojo 1.8 を使用してアプリを構築しており、これに似たテンプレートを持つカスタム ウィジェットがあります...

<div>
  <label for="tag">Select something: </label>
  <select id="tag"
      data-dojo-attach-point="tag"
      data-dojo-type="dijit/form/Select">
    <option value="0">option 0</option>
    <option value="1">option 1</option>
  </select>
</div>

ただし、テンプレートがレンダリングされると、ウィジェットは新しい ID を定義するため、タグは役に立たなくなります。これをグーグルで検索してみましたが、ラベルと呼ばれる属性はありますが、HTML ラベル タグとは関係がないため、すべての検索で Dojo のドキュメントが表示されます。

これを行う適切な理由は何ですか?

4

1 に答える 1

1

あなたが説明した状況では、<select>の周りにラベルを配置し、 for/id 属性で破棄するだけです。Stackoverflow の質問を参照してください:

また、ウィジェット テンプレートで実際に Id を使用する場合は、以下を参照してください。

ID を直接使用する (つまり、上記のリンクのようにオンザフライで割り当てるのではなく、ハードコーディングする) ことは推奨されません。これは、ウィジェットの作成時にテンプレートが何度も使用されることを意図しているためです。

理論的には、1 つのページに複数のウィジェットを作成するために使用できます。したがって、そのような状況では、ID の競合が発生します。どのページでも、各 HTML ID は一意である必要があります。

于 2013-02-14T06:40:28.190 に答える