有没有人知道是否有一种简单的方法可以在AIR HTML控件中捕获悬停的链接URL?就像在浏览器中一样,我希望url显示在状态栏中,但是我找不到任何在链接翻转时引发的事件。我是否需要自己检查并操纵DOM?
答案 0 :(得分:4)
假设您使用的是mx:HTML或HTMLLoader,您可能需要编写自己的小脚本来将DOM对象连接到AIR容器。这是一种方法 - 可能有一个更优雅的解决方案,但为了说明的目的,它应该足够了。
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="1024" height="768" xmlns:html="flash.html.*" horizontalScrollPolicy="off">
<mx:Script>
<![CDATA[
private function container_complete(event:Event):void
{
addHTMLListeners();
}
private function addHTMLListeners():void
{
var links:Object = container.htmlLoader.window.document.getElementsByTagName("a");
for (var i:int = 0; i < links.length; i++)
{
if (links[i].href != "")
{
var href:String = links[i].href;
links[i].onmouseover = function():void { setStatus(this); };
links[i].onmouseout = function():void { clearStatus() };
}
}
}
private function setStatus(o:Object):void
{
status = o.href;
}
private function clearStatus():void
{
status = "";
}
]]>
</mx:Script>
<mx:HTML id="container" location="http://stackoverflow.com/users/32129" width="100%" height="100%" complete="container_complete(event)" />
</mx:WindowedApplication>
希望它有所帮助!