![]() |
|
||||||||||
|
|||||
|
можно ли вызвать обработчик события для ссылки в динамическом текстовом поле с html-форматированием прямо во Флеше?
или как это можно сделать еще? смысл в том, что надо знать нажимаемую в данн. момент ссылку и получать её href и text атрибуты. напишите, кто что может!!!!!!! ![]() |
|
|||||
|
есть такая идея (бредовая правда но попробовать можно):
при щелчке на ссылке получать позицию hPosition или vPosition (если на примере textArea) и уже от этой позиции вырывать из всего текста ссылку для дальнейшего разбора (получение атрибутов)... |
|
|||||
|
но как бы то ни было, как мне "handle" ссылки получить???
т.е. фариант пра hPos i vPos - не очень удобно.... мягко виражаясь... можно все-тки как-то приаттачить к ссылке onClick? просто ссылок будет ОЧЕНЬ много и нужно иметь возможность заносить их в "журнал", т е нужно сделать историю нажатых последних 10 ссылок. А, кроме того, еще и знать их href и text. но ЛУЧШЕ - onClick- он решит все проблемы... или можно как-то это сделать на ActionScript?? |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 221
|
Если я правильно понимаю проблему то ее очень легко решить с помощью
asfunction. _global.someFunction = function(param_str){
var arr = param_str.split(",");
for(var i=0; i<arr.length; ++i){
trace(arr[i]);
}
trace(paramString);
}
// В поле с html форматированием
txt.htmlText = "<a href='asfunction:_global.someFunction,my param1,p2'>click me</a>";
Код не проверял, но должно работать... |
|
|||||
|
круто! пойду пробовать!
|
|
|||||
|
есть такой момент, что trace не вызываецца...
т. е. ссылка есть, но функция не вызывается ![]() |
|
|||||
|
соврал! руки оторвать! все работает!
но вот другая проблема: пишу: _global.someFunction = function(param_str) { getURL(param_str, _blank); } arr1=['http://www.yandex.ru','http://www.mail.yandex.ru']; arr2=['yandex','mail.yandex']; txt.htmlText = "<a href='asfunction:_global.someFunction,http://www.yandex.ru'>yandex</a><br>"; for (i; i>=arr.length+1;i++){ txt.htmlText+='<a href =\' asfunction:__global.someFunction,'+arr1[i]+'\'>'+arr2[i]+'</a><br>'; } выдает только 1й элемент массива я может че-то неправильно с массивом делаю - а то я к дельфи привык... |
|
|||||
|
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Прочитай до конца мою подпись
|
|
|||||
|
долго объяснять причины почему я так написал... технические, одним словом.
сорри но вопрос остается! |
|
|||||
|
Контрибьютор базы знаний по Флекс
Регистрация: Aug 2005
Сообщений: 690
|
с твоим кодом ничо не выводится, а тока флеш виснет
. Вот глянь на этот_root.createTextField("txt",1,1,1,100,100);
_root.txt.html = true;
_root.txt.multiline=true;
_global.someFunction = function(param_str) {
getURL(param_str, _blank);
};
arr1 = ['http://www.yandex.ru', 'http://www.mail.yandex.ru'];
arr2 = ['yandex', 'mail.yandex'];
//txt.htmlText = "<a href='asfunction:_global.someFunction,http://www.yandex.ru'>yandex</a><br>";
for (i=0; i<arr1.length; i++) {
_root.txt.htmlText += "<a href =\""+arr1[i]+"\">"+arr2[i]+"</a><br>";
}
Последний раз редактировалось baron27; 16.12.2005 в 11:36. |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|