【问题标题】:Click HTML element in AIR using ActionScript使用 ActionScript 在 AIR 中单击 HTML 元素
【发布时间】:2011-12-21 14:17:26
【问题描述】:

我正在尝试为 AIR 应用程序中的 HTML 组件调度 MouseEvent。这样,我想用 ActionScript 代码模拟对 HTML 元素的点击。这是我的 AIR 应用程序代码:

<?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[
            private function clickHTML(event:MouseEvent):void {
                var e:MouseEvent = new MouseEvent(MouseEvent.CLICK,true,false,10,10);
                html.dispatchEvent(e);
            }
        ]]>
    </fx:Script>

    <s:Button label="Click HTML" x="10" y="10" click="clickHTML(event)"/>

    <mx:HTML id="html" x="10" y="50" width="100" height="100"
             location="page.html" click="trace('html was clicked')"/></s:WindowedApplication>

这是page.html的代码:

<html>
<body onClick="alert('Clicked!')" bgcolor="grey">
Page loaded
</body>
</html>

当你自己点击HTML元素时,会有alert和MouseEvent,但是当用脚本调度事件时,只有MouseEvent。

如何让它发挥作用?

【问题讨论】:

    标签: html apache-flex actionscript air mouseevent


    【解决方案1】:

    你需要直接调用 JavaScript 函数才能对你的 html 内容做一些事情。 检查这篇文章:

    Accessing HTML DOM and JavaScript objects from ActionScript

    【讨论】:

    • 感谢您的帮助,它的工作。我还发现了如何单击按钮。如果你有一个 ID 为 myButton 的 HTML 按钮,在 ActionScript 中你可以这样做:var btn:Object = html.htmlLoader.window.myButton; btn.click(); 谢谢@kostik
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    相关资源
    最近更新 更多