Предотвращение навигации через щелчок на ссылку привязки в Actionscript

Я создаю 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' источнику, данному при нажатии. Как я могу достигнуть этого.

1
задан Wind Chimez 22 June 2010 в 05:40
поделиться

1 ответ

Добавьте 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 () для выполнения гиперссылка. Это позволяет вам изменять гиперссылку, или даже запретить ее от возникновения в вашем приложении.

2
ответ дан 2 September 2019 в 23:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: