问题描述
|
我到处都在找,但是我找不到问题的答案,也许有人可以帮我。
我有一个带有工具栏的面板
工具栏有3个项目(按钮,文本字段,按钮)
这可以正常工作,我可以按按钮,我不能在文本字段中编写,编辑等。
但是如果我更改为:按钮,组件,按钮
然后在组件中写一个html:\'\'
焦点管理器(也许还有其他东西)启动了……好吧..该文本输入的效果不是很好,我可以编写...但是我不能按Backspace键,如果这样做,什么也没发生,我也不能按箭头键。
有没有办法仅在该文本输入中限制焦点管理器???或整个工具栏(我真的不需要)
我已经尝试过\“ Ext.FocusManager.disable()\”,但是那不起作用(而且Ext.FocusManager.enabled返回false……所以也许这并不是Focus Manager的真正错)
我已将问题缩小到工具栏...
我在其他地方创建了一个文本输入,所有键都起作用...我在工具栏内移动了相同的输入(使用jquery)...,而退格键和箭头键则停止工作...如果将其移出,键再次开始工作:S
我需要将其作为文本输入,因为我正计划使用一个jQuery插件来隐藏当前输入并将其替换为另一个输入...所以您看到的...即使我使用文本字段,该文本字段也将被隐藏并且文本输入将替换它,而没有退格键和箭头键功能
任何帮助将不胜感激
问候!!!!!!!!
解决方法
好....
使用xtype:\'textfield \'对我来说有些奇怪...
Ext.FocusManager.enabled
返回false...。
如果我做一个Ext.FocusManager.enable();然后是Ext.FocusManager.disable();
甚至xtype:\'textfield \'也停止使用退格键和箭头键:O
所以我想FocusManager有事要做...。
无论如何,我暂时解决了我的问题:P
我将组件保留为文本字段
{
xtype: \'textfield\',name: \'emailsi\',id: \'emailsi\',labelStyle: \'width: auto\',labelWidth: 120,width: 500,fieldLabel: idioma.personasInvolucradas
}
当通过jquery创建文本输入时,会将display: none
应用于前一个文本字段
所以...我恢复了display:block
,同时应用了position: absolute; float: right; z-index: -1;
,这样它又被隐藏了,并且不会干扰布局:P
最后,还原Backspace和向左/向右箭头键的功能........
我在jQuery中创建一个.focus()
事件,如下所示:
$(\'.textboxlist-bit-editable-input\').focus(function(){
$(\'#emailsi>div>input\').css({display: \'block\',\'z-index\': \'-2\',position: \'absolute\',float: \'right\'});
Ext.getCmp(\'emailsi\').focus();
});
基本上,我发现只要原始文本字段具有焦点,我就可以在文本输入中按退格键:)(也可以在其中应用css的东西,首先是在焦点事件之外,但是当工具栏出现时重新绘制,文本字段返回显示:无)
如果有人有更好的解决方案,将非常欢迎:D
问候!!