Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.12.2006, 18:33
mmxer вне форума Посмотреть профиль Отправить личное сообщение для mmxer Найти все сообщения от mmxer
  № 1  
Ответить с цитированием
mmxer

Регистрация: Dec 2006
Сообщений: 1
По умолчанию Табуляция не работает, пока не кликнешь на ActiveX

Есть страница со ссылкой и встроенной флэшкой.
По клику на ссылке фокус попадает в текстовое поле флэшки. Хотелось бы, чтобы дальше по полям флэшки можно было бы перемещаться с помощью табуляции.
Но TAB не работает во флэшке, пока мы не кликнем на нее.
Т.е. нажимаешь TAB - и фокус уходит обратно на страницу.

http://mmxer.narod.ru/test/avTabTest.html

Код страницы:
Код:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>avTabTest</title>
</head>

<body bgcolor="#ffffff">

<script language="JavaScript">
    var loadJSurl = "tabTest.js";
	document.write('<scrip' + 't type="text/javascript" src="' + loadJSurl + '">');
	document.write('</scrip' + 't>');
</script>

</body>
</html>

Код флэшки:
Код:
this.createTextField("field1", 1, 10, 10, 200, 20);
field1.type = "input";
field1.border = true;
field1.background = false;
field1.password = false;
field1.multiline = false;
field1.html = false;
field1.embedFonts = false;
field1.selectable = true;
field1.wordWrap = false;
field1.mouseWheelEnabled = true;
field1.condenseWhite = false;
field1.restrict = null;
field1.variable = null;
field1.maxChars = null;
field1.styleSheet = undefined;
field1.tabInded = undefined;

this.createTextField("field2", 2, 10, 40, 200, 20);
field2.type = "input";
field2.border = true;
field2.background = false;
field2.password = false;
field2.multiline = false;
field2.html = false;
field2.embedFonts = false;
field2.selectable = true;
field2.wordWrap = false;
field2.mouseWheelEnabled = true;
field2.condenseWhite = false;
field2.restrict = null;
field2.variable = null;
field2.maxChars = null;
field2.styleSheet = undefined;
field2.tabInded = undefined;

function Login()
{
	Selection.setFocus(this.field1);
}

import flash.external.ExternalInterface;

ExternalInterface.addCallback("Login", this, Login);


tabTest.js:
Код:
var TABTEST_DIV_ID = "avTabTest";
var TABTEST_SWF_NAME = "avTabTest.swf";
var TABTEST_OBJECT_ID = "av";
var FLASH_CAB_URL = "http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0";
	
window.top.tabTestInterface = new tabTestInterface();

document.write('<a href="javascript:window.top.tabTestInterface.login();">Login</a>' +
'<div id="' + TABTEST_DIV_ID + '" name="' + TABTEST_DIV_ID + '"' + 
' style="position:fixed;z-index:100;left:300 px;top:100 px;width:300px;visibility:hidden;"></div>');

		
var thisObject = getDocumentObject(TABTEST_DIV_ID);

var tabTestHeight = 100;
var tabTestWidth = 250;
var windowMode = "Transparent";

var tabTestTag = '<div id="' + TABTEST_DIV_ID + '" name="' + TABTEST_DIV_ID + '" ' +
	'style="position:absolute;z-index:100;left:0px;top:0px;width:900px;visibility:visible;" >' +
	'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ' +
	'codebase="' + FLASH_CAB_URL  + '" ' +
	'width="' + tabTestWidth + '" height="' + tabTestHeight + '" id="' + TABTEST_OBJECT_ID + '" name="' + TABTEST_OBJECT_ID + '" align="right">' +
	'<param name="allowScriptAccess" value="always" />' +
	'<param name="movie" value="' + TABTEST_SWF_NAME + '" />' +
	'<param name="quality" value="high" />' +
	'<param name="bgcolor" value="#ffffff" />' +
	'<param name="scale" value="noscale" />' +
	'<param name="SeamlessTabbing" value="false" />' +
	'<param name="wmode" value="' + windowMode + '" >' +
	'</object>' +
	'</div>';

thisObject.outerHTML = tabTestTag;




function getDocumentObject(anId)
{
	var Result = null;
	Result = window.document.getElementById(anId);
	
	if ((Result === null) && (window.document.body))
	{
		for (var counter = 0;counter < window.document.body.childNodes.length;counter++)
		{
			if (window.document.body.childNodes[counter].id == anId)
			{
				Result = window.document.body.childNodes[counter];
				break;
			}
		}
	}
	
	if ((Result === null) && (window.document.all))
	{
		Result = window.document.all[anId];
	}
	
	if ((Result === null) && (window.document.layers))
	{
		Result = window.document.layers[anId];
	}
	return Result;
};



function tabTestInterface()
{
	this.login = function()
	{
		this.focusOnViewer();
		getDocumentObject(TABTEST_OBJECT_ID).Login();
	}
	
	this.focusOnViewer = function()
	{

		var theViewer = getDocumentObject(TABTEST_OBJECT_ID);
		if (theViewer === null)
			trace("cannot find the Viewer in focusOnViewer()");
		else
		{
			if (typeof(theViewer.focus) == "undefined") 
				alert("Viewer.focus undefined");
			else
				theViewer.focus();
		}
	}

}

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 05:13.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.