首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dojo: dojo onblur事件

Dojo: dojo onblur事件
EN

Stack Overflow用户
提问于 2011-01-12 05:05:35
回答 2查看 11.2K关注 0票数 5

我有一个Dojo1.5的表单设置。我使用的是dijit.form.ComboBox和dijit.form.TextBox

组合框有像“汽车”、“自行车”、“摩托车”这样的值,而文本框则是组合框的形容词。因此,组合框中的内容并不重要,但是如果Combobox确实有一个值,那么必须在TextBox中填充一些内容。可选的是,如果ComboBox中没有任何内容,那么TextBox中也不能有任何内容,这很好。事实上,如果组合框中没有某些内容,那么文本框中一定没有任何内容。

在常规编码中,我只会在文本框上使用onBlur事件来转到一个函数,该函数检查ComboBox是否有值。我在道场看到这是行不通的。代码示例如下...

代码语言:javascript
复制
Vehicle:
    <input dojoType="dijit.form.ComboBox"
      store="xvarStore"
      value=""
      searchAttr="name"
      name="vehicle_1"
      id="vehicle_1"
    />
 Descriptor:
<input type="text"
                dojoType="dijit.form.TextBox"
                value=""
                class=lighttext
                style="width:350px;height:19px"
                id="filter_value_1"
                name="filter_value_1"
                />

我最初的尝试是在描述符的标记中添加一个onBlur,但发现这不起作用。

Dojo是如何处理这个问题的?是通过dojo.connect参数实现的吗?尽管在上面的示例中,组合框的id为"vehicle_1“,文本框的id为"filter_value_1",但是可以有许多顺序向上编号的组合框和文本框。(vehicle_2、vehicle_3等)

任何建议或到资源的链接都将非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-12 07:33:18

要添加onBlur事件,应使用dojo.connect():

代码语言:javascript
复制
dojo.connect(dojo.byId("vehicle_1"), "onBlur", function() { /* do something */ });

如果您有多个输入需要连接,请考虑为那些需要模糊的输入添加一个自定义类,并使用dojo.query连接到所有这些输入:

代码语言:javascript
复制
Vehicle:
    <input dojoType="dijit.form.ComboBox"
      store="xvarStore"
      class="blurEvent" 
      value=""
      searchAttr="name"
      name="vehicle_1"
      id="vehicle_1"
    />

dojo.query(".blurEvent").forEach(function(node, index, arr) {
      dojo.connect(node, "onBlur", function() { /* do something */ });
  });

在传递给dojo.connect的函数中,您可以添加一些代码来去掉末尾的数字,并使用它来引用每个filter_value_*输入进行验证。

dojo.connect()

Combobox documention

票数 7
EN

Stack Overflow用户

发布于 2011-01-12 08:49:56

对于我来说,onBlur似乎工作得很好,即使在HTML声明的小部件中也是如此。下面是一个非常简单的例子:

http://jsfiddle.net/kfranqueiro/BWT4U/

(打开firebug/webkit检查器/IE8dev工具以查看console.log消息。)

但是,要获得更理想的解决方案,您可能还会对其他一些小部件感兴趣……

  • http://dojotoolkit.org/reference-guide/dijit/form/ValidationTextbox.html
  • http://dojotoolkit.org/reference-guide/dijit/form/Form.html

希望这篇文章能帮你入门。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4662646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档