我无法让 ValidationTextBox
失去焦点,我也看不到 blur()
方法。
如何让它失去焦点?
最佳答案
blur() 方法适用于 dom 节点。小部件通常由 html 模板支持。如果您查看 dijit/form/templates/ValidationTextBox.html,您会看到有一个 dom 节点,它有一个包含“focusNode”的 dojoAttachPoint。下面是dojo 1.7上的模板代码,供引用:
<div class="dijit dijitReset dijitInlineTable dijitLeft"
id="widget_${id}" role="presentation"
><div class='dijitReset dijitValidationContainer'
><input class="dijitReset dijitInputField dijitValidationIcon dijitValidationInner" value="Χ " type="text" tabIndex="-1" readonly="readonly" role="presentation"
/></div
><div class="dijitReset dijitInputField dijitInputContainer"
><input class="dijitReset dijitInputInner" dojoAttachPoint='textbox,focusNode' autocomplete="off"
${!nameAttrSetting} type='${type}'
/></div
您可以通过直接引用模板中引用的节点作为“focusNode”来实现模糊触发,方法如下:
dijit.byId("myValidationTextBoxId").focusNode.blur();
关于道场:将 ValidationTextBox 设置为模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8801039/