当一棵树加载时,它正在窃取焦点
When a tree loads it is stealing focus
我有一个树形面板,顶部工具栏中有一个文本字段。击键后,树被重新加载,但它会从文本框中窃取焦点
这是我的代码:
Ext.define('search_tree', {
extend:'Ext.tree.Panel',
rootVisible:false,
autoScroll:true,
store:Ext.create('Ext.data.TreeStore', {
root:{
id:'node',
nodeType:'async'
},
proxy:{
actionMethods:{
'read':'POST'
},
type:'ajax',
url:'myurl'
}
}),
tbar:['Search:', {
xtype:'textfield',
id:'search_combo',
listeners:{
keyup:{buffer:150,fn:function(field, e) {
var val = this.getRawValue();
if(val.length != this.valueLength){
var thisTree = this.up('treepanel');
thisTree.store.getRootNode().removeAll();
//***************
//When this load finishes the focus is taken away
//From the text field :(
//***************
thisTree.store.load({params:{search_string:val}});
}
}}
}
}]
});
一种解决方案是在 store.load() 上向参数添加一个回调,以调用文本上的焦点:
//***************
//When this load finishes the focus is taken away
//From the text field :(
//***************
thisTree.store.load({params:{
search_string:val,
callback: function() {
this.focus(); /*or Ext.getCmp('search_combo').focus() depending on scoping*/
}
}});
相关文章:
- 当点击另一件事时,将焦点设置为一件事
- 有没有一种方法可以使用任何浏览器扩展整个dom树'的开发工具
- 只有当选项卡/窗口有焦点时,页面才能每5秒刷新一次
- 单击其他元素或鼠标向上时隐藏输入框,但保留一次焦点
- 如何在javascript中使用2个一维数组创建层次结构树
- 如何在动态树标题中的输入字段上设置焦点
- 如何检查焦点是否离开了一组元素
- 如何在同一棵树中渲染子组件
- JsTree:如何在将节点从一棵树拖到第二棵树时获取事件
- 如何使用javascript在递归对象中找到基于一键的树级别
- c#mvc一次只允许一个用户编辑树视图
- 使用 broccoli-requirejs 从同一棵树构建两个不同的文件时出错
- 输入:焦点只工作一次
- 如何在 d3.js 中走一棵树
- 使用treemodel.js合并两棵树
- 渲染出一棵树
- 如何使活泼的手风琴看起来像一棵树
- JSTREE - 不同页面中的一棵树
- 我怎样才能递归和异步地构建一棵未知大小的树
- 当一棵树加载时,它正在窃取焦点