如果您使用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