2011-09-24 31 views
1

我似乎無法能夠集中字段的形式ExtJS的4extjs4 - 如何關注文本字段?

的文檔列出了文本字段(繼承自Component)聚焦功能,但它不能在對焦方面做任何事到輸入字段。

下面是從文檔

Ext.create('Ext.form.Panel', { 
    title: 'Contact Info', 
    width: 300, 
    bodyPadding: 10, 
    renderTo: Ext.getBody(),   
    items: [{ 
     xtype: 'textfield', 
     name: 'name', 
     fieldLabel: 'Name', 
     allowBlank: false 
    }, { 
     xtype: 'textfield', 
     id:'email', 
     name: 'email', 
     fieldLabel: 'Email Address', 
     vtype: 'email' 
    }] 
}); 

一個示例代碼。如果我叫什麼Ext.getCmp('email').focus()可見發生。

在extjs 4中關注字段的正確方法是什麼?

+0

在FF 6.0.2 mac上可能出現[Set on focus on Extjs textfield](https://stackoverflow.com/questions/6591371/set-focus-on-extjs-textfield) – Vadzim

回答

2

你的代碼沒有任何問題。我爲它製作了一個jsfiddle,它工作正常。你是在包裝代碼和Ext.onReady()?你還使用什麼瀏覽器?

+0

。絕對包裹在onReady處理程序..你的jsfiddle爲我工作..必須是我的代碼中的其他地方的東西,必須竊取焦點..我想我可以嘗試修剪其餘的代碼,以再次開始工作。至少我知道重點_現在應該工作,謝謝 – Ben

5

有時候,一個簡單的解決方法是稍微延遲焦點調用,以防與其他代碼或者UI線程發生定時問題,從而導致焦點發生。具有延遲各地

Ext.getCmp('email').focus(false, 20); 
+0

我認爲焦點方法中的延遲選項可以讓你做到這一點,但似乎並非如此。謝謝你的提示。 +1 – Mike

2

試試這個。注意父母上的focusOnToFront屬性。

+2

爲了提高您的帖子的質量,請包括您的答案爲何/如何解決問題。 –

+0

[此答案提供瞭解釋](http://stackoverflow.com/a/6591823/1062992) – Geronimo

0

而不是工作,找什麼越來越注重代替:例如: -

Ext.defer(function(){ 
    Ext.getCmp('email').focus(); 
}, 0); 
相關問題