Я создаю textbutton, использующий actionscript., код дан ниже.
public function createTextButton(parentId){
var mytext:TextField = new TextField();
mytext.x = 478;
mytext.y = 225;
mytext.height = 20;
var format:TextFormat = new TextFormat();
format.font = "Hitchcock";
format.size = 20;
mytext.defaultTextFormat = format;
mytext.textColor = 0xffffff;
mytext.htmlText = '<a href="j#" >Click Here</a>';
mytext.addEventListener(MouseEvent.CLICK,paginationLinkClicked);
mytext.addEventListener(MouseEvent.MOUSE_OVER,mouseOverButton);
mytext.addEventListener(MouseEvent.MOUSE_OUT,mouseOutButton);
parentId.addChild(mytext);
}
Теперь я хочу, чтобы событие щелчка этой кнопки было обработано в моей функции обработчика событий только. Это не должно перейти далеко к 'href' источнику, данному при нажатии. Как я могу достигнуть этого.
Добавьте event.preventDefault ();
в свой обработчик событий, как только вы закончите настраиваемую обработку.
Из документации Adobe: http://livedocs.adobe.com/flex/3/langref/flash/events/Event.html
flash.events.Event.preventDefault (): отменяет событие поведение по умолчанию, если это поведение можно отменить.
Обновление:
preventDefault не будет работать в этом случае.
Вам нужно будет добавить обработчик событий ссылки
и префикс URL-адреса с помощью события :
.Вот упрощенная версия вашего кода:
public function createTextButton(event:Event):void
{
myText.htmlText = '<a href="event:j#">Click Here</a>';
myText.addEventListener(TextEvent.LINK, handle_linkClick);
}
protected function handle_linkClick(event:TextEvent):void
{
var linkText:String = event.text; // Will give you everything after `event:`. In your case: "j#"
// Custom code goes here....
}
TextArea docs в обработчике событий ссылки:
Отправляется, когда пользователь щелкает гиперссылка в тексте, определяемая htmlText, где URL начинается с «событие:». Остальная часть URL после "события:" помещается в текстовое свойство события ссылки объект.
Когда вы обрабатываете событие ссылки, гиперссылка не автоматически выполнен; вам нужно выполнить гиперссылка из вашего мероприятия обработчик. Обычно вы используете navigateToURL () для выполнения гиперссылка. Это позволяет вам изменять гиперссылку, или даже запретить ее от возникновения в вашем приложении.