选择值后强制 FilteringSelect 失去焦点
Posted
技术标签:
【中文标题】选择值后强制 FilteringSelect 失去焦点【英文标题】:Force FilteringSelect to lost focus after selecting a value 【发布时间】:2013-02-22 17:49:52 【问题描述】:我正在使用 Dojo 1.6。我有一个连接到数据存储的 FilteringSelect。我想在用户单击该字段时清空该字段,因此用户不需要删除任何内容。我设法通过在焦点上将 textbox.value 设置为 "" 来做到这一点:
dojo.connect(sel, 'onFocus', function (value)
this.textbox.value = ""
);
我遇到的问题是,当用户在下拉列表中选择一个元素时,onChange 被触发,但控件并没有失去焦点,所以下次用户尝试修改值时,他需要清空该字段手动或在控件外部单击,然后在控件中单击返回。有什么办法可以强制控件失去焦点?
我在http://jsfiddle.net/Jyvra/1/准备了一个样本
【问题讨论】:
【参考方案1】:您希望与之交互以实现此目的的 Widget 属性是 focusNode
。任何获得焦点的小部件都会有这个,所以只需将此行添加到您的 onChange
处理程序:
this.focusNode.blur();
您将万事俱备。您可以通过添加right here 的那一行来查看您的小提琴。
【讨论】:
以上是关于选择值后强制 FilteringSelect 失去焦点的主要内容,如果未能解决你的问题,请参考以下文章
如何在 dojo 中获取 FilteringSelect <select> 的“值”?
将数据推送到 Dojo Filteringselect(带代码)
即使在手动更新 TEXTAREA 值后如何强制 jQuery.text() 工作? [复制]
更改 FriendlyName 注册表值后如何强制 Windows 设备管理器刷新设备名称显示