Я почти нашел обходной путь. Просто поразительно, что нет какого-либо объекта, который можно поместить поверх текстового поля, чтобы он не видел, как мышь перекрывает гиперссылку.
Вот, для протокола, некоторые вещи, которые я пробовал.
stopPropagation () // не работает
stopImmediatePropagation (P // не работает
Поскольку текстовое поле и спрайт являются одноуровневыми элементами в списке отображения, я думаю, что все, что касается распространения событий, не имеет значения. Все это имеет отношение к предкам и потомкам, но то, с чем мы имеем дело, не является ни тем, ни другим.
Я попытался поместить другое ('обложка') текстовое поле поверх текстового поля 'target'. Я попытался установить cover.visible = false; но это просто означало, что его там не было. Я попытался установить его альфа на .1, но это тоже не сработало - так же, как и спрайт покрытия, он позволял mouseOver проходить через него, так что гиперссылка отвечала.
Я думал о попытке использовать protectDefault () для гиперссылки, но а) я не знаю, как ссылаться на гиперссылку (у нее нет идентификатора) и б) единственное событие, которое отправляется из гиперссылки, - это TextEvent, и вот когда он нажал. Мы не щелкаем, мы зависаем. Так что я не знаю, какое событие отменить.
Еще одна вещь, которую я подумал сделать, это что-то вроде фальшивого «отмена». То есть, возможно, я мог бы задать формат текста или стиль гиперссылки, чтобы она выглядела как обычный текст, когда мышь наведена на спрайт. Гиперссылка на самом деле будет активирована, но она будет выглядеть , как будто она не активируется, потому что стиль будет изменен. Это то, что сработало.
Но это всего лишь фальшивый визуальный обходной путь ...