Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Событие при наведении курсора на слово в текстовом поле (http://www.flasher.ru/forum/showthread.php?t=81294)

denisow 16.06.2006 06:38

Событие при наведении курсора на слово в текстовом поле
 
Доброе время суток коллеги, нет ли у кого идеи по решению такой проблемы
У меня есть самое стандартное динамическое текстовое поле, в котором живёт какой то текст, задача поймать событие когда курсор находится над словом, при этом нужно будет возвращать над каким именно словом,

У меня пока вариант только разбить каждое слово в свой мувиклип, но тогда теряется такая опция как выделение мышью фразы из текста :(

Есть ли другой способ ?

vooparker 16.06.2006 09:36

Честно не совсем понял фразу "возвращать над каким именно словом". А так, кто нам мешает на выставить динамическому полю html=true; И заданное слово сделать ссылкой (я про теги <a></a>) и на событие onClick повесить вызов asfunction. В общем что-то вроде этого:
Код:

error.htmlText = 'нажмите <a href="#" onClick="asfunction:errormenu()">загрузить меню</a>';
Может это то что тебе нужно.

etc 16.06.2006 09:52

Чуть позже попробую описать один способ, если получиться.

Nirth 16.06.2006 10:54

на ActionScript 3.0 делается очень легко, вот пример IFBIN -> MouseWord
для просмотра нужно скачать ifbin клиент

silin 16.06.2006 21:16

вариант для моноширного шрифта (это был другой вопрос, но твоя задачка решается):
Код:

t="надо сделать чтобы при наведении курсора на определенное слово возникала всплывающая подсказка "
this.createTextField("_txt",0,0,0,0,0);
_txt.autoSize=true;
_txt.selectable=false;
_txt.text=t;
_fmt=new TextFormat()
_fmt.font="Courier"
_txt.setTextFormat(_fmt);
var w=_txt.textWidth/t.length
/////////////////////////
var h=this.createEmptyMovieClip("h",1)
h.createTextField("_txt",0,0,0,0,0);
h._txt.autoSize=true;
this.onMouseMove=function(){
        h._visible=_ymouse<_txt._height && _xmouse<_txt._width;
        h._x=_xmouse+10;
        h._y=_ymouse-20;
        var n=Math.floor(_xmouse/w)
        h._txt.text=t.substring(t.lastIndexOf(" ",n),t.indexOf(" ",n))


denisow 17.06.2006 07:39

2 vooparker onClick это по нажатию а я хотел по наведению
2 Silin спасибо огромное за onMouseMove, именно так и задумывалось !


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

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