![]() |
html текст, как отловить событие наведения на ссылку?
с помощью CSS сам текст видоизменяется как надо, asfunction по клику тоже работает, а вот как отловить СОБЫТИЕ наведения на ссылку?
(тема начала обсуждаться тут, но ответа там нет) |
где-то обсуждалась тема, в ссылке прописывается это. Грубо говоря ссылка вызывает казанную функцию, а там уже делай что хочешь. Поищи, обсуждалось несколько раз такое.
|
Да как обычно ловишь событие джаваскриптом (онмаусовер) и запускаешь нужную функцию...
Код HTML:
<a href="http://my_site.ru" onmouseover="my_function(my_parameter);">типа мой сайтик</a> |
Wolsh, какой нафиг onmouseover внутри флеша для html?
Я делал подобную вещь, насколько я помню, отслеживалось изменение цвета линка при наведении на него мышью. |
Простите, зарапортовался :) Я думал на хтмл-странице...
|
Цитата:
|
Проверять всю строку, находить позицию ссылки с отличным цветом от других. Я ж говорю, это геморройно очень, но реально.
|
Могу понять, как найти ссылку в текстовом поле.
Но не могу понять, как определить цвет ФРАГМЕНТА текстового поля? |
getTextFormat
|
Понял.
Это третий вариант синтаксиса: my_txt.getTextFormat(beginIndex:Number, endIndex:Number) : Object Спасибо. |
А свойство полученного объекта можно в watch поставить?
PS chingachgoog, ты уж поделись со всеми технологией, когда получится, ОК? |
Код:
txt = this.createTextField('txt',0,10,10,100,20); |
При каждом гете создается новый объект и они не равны?
Но мы же можем сделать один объект и ватчить только одно его свойство? Или придется определять через переменную? |
Код:
txt = this.createTextField('txt',0,10,10,100,20); |
Ну вот. Объекты-то нам сравнивать не надо, только свойство.
Оно отлавливается. Так можно его как-то в ватч запихать? |
Если все-таки непонятно: оно не меняется. Что и иллюстрирует написанный мною пример.
|
Да нет, понятно что переменная ХРАНИТ значение.
А свойство-то меняется :) Но оно, конечно, привязано к объекту... |
Не привязано оно ни к чему.
|
__etc, чесслово я не программер, и вашей фени не знаю :)
Извини если не так сказал, ОК? Я имел в виду, что новое значение свойства мы получим только с новым объектом, а у старого, хранимого в переменной, ничего не изменится. Итак, при каждом вызове гетТекстФормат мы получаем новый объект с интересующим нас свойством color, на известное заранее значение которого надо среагировать. В watch мы не можем следить ни за чем, кроме переменной - так? Переменная не меняется :) сама по себе. Значит надо создать вызов опроса по интервалу, соотв. watch уже не нужен, хватит просто if. В общем, решение совсем некрасивое, интервалы всякие... Эх, будет ли когда-нибудь событие изменения курсора :) |
Достаточно повесить onMouseMove+updateAfterEvent.
|
Цитата:
Т.к. на эту задачу у меня уйдет полдня наверное, а сдавать надо было вчера :) Поэтому пришлось действовать грубо и не так изящно, как можно было бы через хтмл-кодирование... Но если придется взяться опять, то поделюсь конечно, тем более ноу-хау примерно ясно. |
Все же вышло!!!
Код:
styleObj = new StyleSheet();Код:
function loadXML(_file)создается массив с индексами ссылок и текстом при наведении на них Код:
onMouseMove=function(){Поиск расчитан на одну уникальную ссылку в тексте (если она повторяется то надо изменить алгоритм). Забивается в xml стандартно: Код:
<![CDATA[ .....<a href="asfunction:showLTip,Исономия – равенство гражданских прав."><u>исономии</u></a>....]]> |
Блин, без агвы не разберешься... Ну спасибо, изучим! :)
|
Этот пример я сделал где-то в мае
Код:
import TextField.StyleSheet; |
Возможно ли узнать, над какой строкой от начала тексфилда находится в данный момент мышиный курсор? Без тупого перелопачивания ВСЕГО содержимого по буковке на каждый onMouseMove/onEnterFrame.
Спасибо. |
Нет, это невозможно.
|
Эх.. Ограниченная функциональность текстового поля. Печально. :( В Директоре вот например можно..
Теперь вместо одного поля со строками придется плодить пачки текстфилдов в мувиклипах по одной строчке в каждом. И все динамически.. Печально и обидно... |
Цитата:
|
У меня-то весь текст загиперлинкован.. Все строки... Длина этих текстов неизвестна.
Дело в том, что я почти все сделал в одном поле. Вернее, сделал. Вычисляется высота строчки при присвоении, применяется CSS, смотрится разница, округляются величины, смещения и с точностью до пикселя регистрируется ролловер на строчку. Но проблема в том, что на Маках вся эта музыка нафиг сползает и все вычисления накрываются... Так что приходится переделывать.. Хотя с самого начала подозревал, что косяки полезут с таким подходом... |
Ariel, а что именно на маках изменяется?
|
Слетают все мои хитроумные вычисления высоты текстфилда до и после применения стилей, со одной строкой внутри, высоты строки, смещений и прочая. На всех РС с точностью до пикселя все обсчитываеццо. На Ролловере при смене цвета гиперлинки тут же появляется мувиклип ролловера.. Ну и исчезает, соответственно, када гаснет... Но Мак подкузьмил, редиско..
|
Эта затея изначально была гиблая.
|
На ПС-ях все стройненько.. Во всех браузерах и операционках. И даже когда размер фонта меняешь через CSS.. Я ж все динамическия размеры считываю. Наверное и под МАК бы сделал, но МАКа для тестов нету.. Проблема.. Т.е., нету возможности толково выяснить, в чем проблема. А почему так делал? Просто очень не хотелось в лоб проблему решать, дупликейтить всю эту тучу мувиклипов с текстфилдами. В QA отдал как есть с пометкой бага на Маке. А сам буду переделывать... Такие вот дела.. А гиблость я тоже сначала чувствовал! :))
|
А посмотреть сие в действии где-нибудь можно?
|
Оно от меня хочет пароль.
|
Фу, блин.. Ну, тогда здесь! Будем говорить за дропдаун-лист верхней менюшечки и от нее прилетающей.
|
Цитата:
Я что-то не пойму, весь сыр-бор лишь для того, чтобы в дропдауне был фон у линков? Если да, то надо напрочь все переделывать и оставить утопичную идею этой темы. |
Головного?
|
Цитата:
Читай ответ выше. Если затея действительно была для фона линков, то это явная ошибка проектирования. |
Не понял я..
Весь сыр-бор лишь для того, чтобы в дропдауне был этот синий ролловер. 1) В чем утопичность? 2) Почему ее надо оставлять? 3) Я итак переделываю. Из-за Маков. Из-за чего-то еще надо? 4) Почему все мозги повзрывались? |
| Часовой пояс GMT +4, время: 02:48. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.