Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.12.2011, 13:09
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 19.11.2011
Сообщений: 77

Простенький вопрос - focus для компонента модального окна?
Здравств, значит тем похожых много, но я только начал разбиратся, не знаю как правильно прописать.

Так вот, при загрузке окна мне нужно выставить фокус в каком0то компоненте, пускай это будет первое текстовое поле.

нашел код
Ext.get('t1').focus();

не знаю где его вставить, и корректен ли он.
нашел код
listeners : {
											afterrender : function(field) {
												field.focus(true);
					}
				}

но я успеваю только заметить курсор - потом он исчезает.

Вот вся функция, - подскажите пожалуйста - как установить фокус?
var me = this;

				Ext.apply(this, {
							height : 500,
							width : 500,
							modal : true,
							title : 'modal Window 500x500',
							plain : true,
							border : false,
							resizable : false,
							draggable : false,
							closable : true,

							items : [{
										xtype : 'textfield',
										itemId : 'desc',
										margin : 5,
										width : 400,
										focusCls : 'x-form-focus',
										fieldLabel : 'Beschreibung'
									}, {
										xtype : 'textfield',
										itemId : 't1',
										margin : 5,
										width : 400,
										fieldLabel : 'Textfield1'
									}, {
										xtype : 'textfield',
										itemId : 't2',
										margin : 5,
										width : 400,
										fieldLabel : 'Textfield2'
										/*listeners : {
											afterrender : function(field) {
												field.focus(true);
											}
										}*/

									}, {
										xtype : 'textfield',
										itemId : 't3',
										margin : 5,
										width : 400,
										fieldLabel : 'Textfield3'
									}, {
										xtype : 'textfield',
										itemId : 't4',
										margin : 5,
										width : 400,
										fieldLabel : 'Textfield4'
									}, {
										xtype : 'tabpanel',
										plain : true,
										layoutOnTabChange : true,
										margin : 5,
										width : 450,
										height : 200,
										items : [{
													xtype : 'panel',
													title : 'Tab1',
													html : 'A simple Tag'
												}, {
													xtype : 'panel',
													title : 'Tab2',
													html : 'Another one'
												}]
									}],

							buttonAlign : 'center',
							buttons : [{
										text : 'OK',
										handler : function() {
											me.close();
										}
									}]
						});


Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 22.12.2011, 13:35
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

у окна
listeners: {
   show: function(){
      this.getComponent('t1').focus(true);
   }
}
Ответить с цитированием
  #3 (permalink)  
Старый 22.12.2011, 14:05
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 19.11.2011
Сообщений: 77

Спасибо, вставил в этот блок
{
										xtype : 'textfield',
										itemId : 't2',
										margin : 5,
										width : 400,
										fieldLabel : 't2',
										listeners : {
											show : function() {
												this.getComponent('t2').focus(true);
											}
										}
									}


не работает
Ответить с цитированием
  #4 (permalink)  
Старый 22.12.2011, 15:46
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

Сообщение от JDev
не работает
внимательно читайте
Сообщение от nekto_O
у окна
Ответить с цитированием
  #5 (permalink)  
Старый 22.12.2011, 15:58
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 19.11.2011
Сообщений: 77

Действительно не заметил, -
Вот, мне кажется правильно на этот раз?
На такая же фишка, курсор появляется на мгновение и исчезает.

Ext.define('My.view.core.dialog.par.ParExampleModalWindow', {
			extend : 'Ext.Window',
			alias : 'widget.core_dialog_par_example_modal_window',

			// constructor function
			constructor : function(config) {

				var me = this;

				Ext.apply(this, {
							height : 500,
							width : 500,
							modal : true,
							title : 'Modal Window 500x500',
							plain : true,
							border : false,
							resizable : false,
							draggable : false,
							closable : true,

							items : [{
										xtype : 'textfield',
										itemId : 'desc',
										margin : 5,
										width : 400,
										focusCls : 'x-form-focus',
										fieldLabel : 'Beschreibung'
									}, {
										xtype : 'textfield',
										itemId : 't1',
										margin : 5,
										width : 400,
										fieldLabel : 'Textfield1'
									}, {
										xtype : 'textfield',
										itemId : 't2',
										margin : 5,
										width : 400,
										fieldLabel : 't2'

									}, {
										xtype : 'textfield',
										itemId : 't3',
										margin : 5,
										width : 400,
										fieldLabel : 'Textfield3'
									}, {
										xtype : 'textfield',
										itemId : 't4',
										margin : 5,
										width : 400,
										fieldLabel : 'Textfield4'
									}, {
										xtype : 'tabpanel',
										plain : true,
										layoutOnTabChange : true,
										margin : 5,
										width : 450,
										height : 200,
										items : [{
													xtype : 'panel',
													title : 'Tab1',
													html : 'A simple Tag'
												}, {
													xtype : 'panel',
													title : 'Tab2',
													html : 'Another one'
												}]
									}],

							listeners : {
								show : function() {
									this.getComponent('t2').focus(true);
								}
							},

							buttonAlign : 'center',
							buttons : [{
										text : 'OK',
										handler : function() {
											me.close();
										}
									}]
						});

				My.view.core.dialog.par.ParExampleModalWindow.superclass.constructor
						.apply(this, arguments);

			}

		});
Ответить с цитированием
  #6 (permalink)  
Старый 05.01.2012, 12:59
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 19.11.2011
Сообщений: 77

Никто не сталкивался?
Ответить с цитированием
  #7 (permalink)  
Старый 06.01.2012, 05:33
Новичок на форуме
Отправить личное сообщение для VitalikSanich Посмотреть профиль Найти все сообщения от VitalikSanich
 
Регистрация: 06.01.2012
Сообщений: 8

Не факт, но попробуйте поиграться параметром delay, поставьте чуть больше, например 100,
this.getComponent('t2').focus(true, 100);
проверьте, если будет все нормально, то можно поуменьшать
Ответить с цитированием
  #8 (permalink)  
Старый 06.01.2012, 15:25
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 19.11.2011
Сообщений: 77

Спасибо, попробую.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование window.open() для позиционирования окна в середине экрана marat-chessman Events/DOM/Window 13 14.08.2011 20:20
Как указать title при открытии окна через window.open для chrome milvic Opera, Safari и др. 4 15.01.2011 15:18
Вставка данных в textarea из модального окна (для Markitup) Roman Koff jQuery 0 26.08.2010 23:21
Обработка события focus для input:text Юрий Шу jQuery 8 02.06.2010 15:57
script для всплывающего окна?????! BIZNES123 Элементы интерфейса 3 04.12.2009 10:43