Выберите DOM-элемент HTML-элемента управления и перенаправьте его DOM-путь в метод Actionscript - PullRequest
1 голос
/ 14 октября 2011

Предположим, что мне нужно иметь HTML-элемент управления внутри моего приложения Flex / AIR.

Пользователь должен иметь возможность щелкнуть где-нибудь на отображаемой в данный момент HTML-странице , и приложение flex должно знать, какой элемент DOM пользователь щелкнул .

В идеале приложение сможет получить путь DOM выбранного элемента.Отправка обратно внутреннего окружающего DIV-элемента в какой-либо метод Flex / AIR тоже подойдет.

Q: Предоставляет ли flex что-либо в рамках для этой задачи?Или вы знаете пример кода?

1 Ответ

1 голос
/ 14 октября 2011

Вы добавляете обратный вызов к свойству window HTMLLoader в элементе HTML.Быстрый пример (для удобства целесообразно использовать jQuery):

HTML-страница здесь: http://fiddle.jshell.net/w23Xx/1/show/ (Источник здесь )

Код Flex:

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx">
    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;

            protected function html1_creationCompleteHandler(event:FlexEvent):void
            {
                // Add the click callback
                html.htmlLoader.window.flexClickCallback = function(element:Object):void
                {
                    trace("Element ID:", element.id);
                };
            }

        ]]>
    </fx:Script>

    <mx:HTML id="html" location="http://fiddle.jshell.net/w23Xx/1/show/" left="10" right="10" top="10" bottom="10" creationComplete="html1_creationCompleteHandler(event)" />

</s:WindowedApplication>

Я полагаю, что вы можете добавлять слушателей напрямую, но это показывает, как вы получаете доступ к странице window.

Редактировать:

Майк Чемберс опубликовал пример выполнения DOM-манипуляций непосредственно в AS приложения AIR.

...