|
|
|||||
Регистрация: Dec 2007
Сообщений: 269
|
private var tf:TextField; ... tf.mouseEnabled = false; stage.addEventListener(MouseEvent.CLICK, onClick); ... private function onClick(e:MouseEvent):void { var index:int = tf.getCharIndexAtPoint(e.stageX, e.stageY); if (index >= 0) { var url:String = tf.getTextFormat(index).url; if (url) processLink(url); } } private function processLink(url:String):void { trace(url); } Последний раз редактировалось badun; 30.05.2008 в 02:43. |
|
|||||
Modus ponens
|
badun: для клика и так есть евент... %) TeхtEvent.LINK называется =) его-то как раз ловить не нужно =)
Вобщем, эксперементальным путем было установлено, что если какое-нибудь из визуальных свойств меняется при наведении мыши, то текстформат тоже меняется. т.е. теоретически записав все линки и все их свойства и с определенным интервалом проверяя их консистентность можно выяснить над каким линком сейчас мышка (если не очень быстро ею водить =)... но это какое-то дурацкое решение =) Глупо то, что нельзя никак получить список всех используемых текстформатов для данного поля и нельзя вотчем смотреть, какое же свойство поменялось...
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Dec 2007
Сообщений: 269
|
Ты не понял. Там стоит tf.mouseEnabled = false, чтобы курсор-указательный палец не появлялся, который уже не скрыть с помощью Mouse.hide(). Но в таком случае текстовые ссылки тоже нерабочими становятся, вот я и показал деревянный способ как эту ссылку вытянуть.
|
|
|||||
Modus ponens
|
а, ну да... тоже вариант...
только, я нинаю, мне интереснее получить событие, когда курсор находится над ссылкой, а не поменять его форму... плеер же его как-то получает... var tf:TextField = new TextField(); tf.htmlText = 'lalalalalal lalalala <a href="event:abcd">text</a> lalalal lalalal lalalal alal\ralalalalalalala lalalal'; tf.autoSize = 'left'; addChild(tf); tf.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); function mouseMoveHandler(evt:MouseEvent):void { var ix:int = tf.getCharIndexAtPoint(evt.localX, evt.localY); if (ix >= 20 && ix < 25) { trace('mouse hovers over link'); } }
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 30.05.2008 в 04:39. |
Часовой пояс GMT +4, время: 07:21. |
|
« Предыдущая тема | Следующая тема » |
|
|