PDA

Просмотр полной версии : Событие при наведении курсора на слово в текстовом поле


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 (http://www.ifbin.com/news/2006/02/flex-2-mouseword-by-ralf-bokelberg.html)
для просмотра нужно скачать 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, именно так и задумывалось !