如果您使用Dojo表单输入,并希望对他们的标签这样的:可点击道场标签
<label for="???">Email</label>
<input
type="text"
name="email"
dojoAttachPoint="email"
dojoType="dijit.form.TextBox"
/>
标签是无法点击,因为没有办法知道输入的ID之前的方式它被呈现。
除了在dojo中为该元素生成一个id之外,是否存在解决方案?
UPDATE
它实际上更加困难比我想象的,因为在道场输入字段被渲染为
<div class="dijit dijitTextBox" id="widget_dijit_form_TextBox_0">
<input class="dijitReset dijitInputField" value="Χ" type="text" tabindex="-1">
...
</div>
和底层的输入字段没有一个id
此解决方案仅适用于简单情况。想象一下在模板中有一个带有这个标签和输入的小部件。现在,如果您想在同一页面上放置同一小部件的多个副本,那么如果使用ids,则会遇到麻烦。通常避免使用id并使用dojoAttachPoint来引用JS中元素的特定实例。基本上,似乎dijit.form.Label从库中缺少,可以使用dojoAttachPoint而不是id来附加,这意味着它可能是编写dojox.form.Label的时候了;) – Karolis
嗯,“编写id dojo会产生”是不是那么糟糕:P – hugomg