dojo:将ValidationTextBox设置为模糊

时间:2012-01-10 09:34:24

标签: dojo

我无法让ValidationTextBox失去焦点,我也看不到方法blur()

如何让它失去焦点?

2 个答案:

答案 0 :(得分:5)

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="&#935; " 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();

答案 1 :(得分:0)

您必须覆盖ValidationtextBox.js类的功能。默认情况下,它总是在onkeypress事件上调用。