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,这使得标签无用。我试过用谷歌搜索,但我所有的搜索都直接指向 Dojo 文档,因为它们具有称为标签的属性,但与 HTML 标签标签无关。

这样做的正确原因是什么?

4

1 回答 1

1

在您描述的情况下,您可以简单地将标签放在<select>周围并使用 for/id 属性进行处理。请参阅 Stackoverflow 问题:

此外,如果您想在小部件模板中实际使用 Id,请参阅:

不鼓励直接使用 ids(即硬编码它们,而不是像上面的链接那样即时分配它们)。这样做的原因是模板旨在在创建小部件时一遍又一遍地使用。

理论上,它可以用来在一个页面上创建多个小部件。因此,在这种情况下,您将遇到身份冲突。任何一个页面上的每个 HTML id 都必须是唯一的。

于 2013-02-14T06:40:28.190 回答