7

我正在使用 ExternalInterface 调用嵌入在 html 页面中的 Flash 应用程序。以下代码可以正常工作(我正在使用按钮进行测试):

$(document).ready(function(){
    $("#button").click(function(){
        var app = document.getElementById('ApplicationID')
        console.debug(app)
        app.pageUnloading()
    })
})

所以这很好地调用了 Flash 应用程序并打印:

<embed id="ApplicationID" width="600" height="400" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" allowscriptaccess="sameDomain" name="FlexMoeders" bgcolor="#cccccc" quality="high" src="ApplicationID.swf">

但是当我使用 jquery $# 方法通过 id 获取元素时,我收到了一个不同的对象:

$(document).ready(function(){
    $("#button").click(function(){
        var app = $("#ApplicationID")
        console.debug(app)
        app.pageUnloading()
    })
})

当我使用它时,我被告知:

app.pageUnloaded is not a function

并打印以下内容:

[embed#ApplicationID] 

我也试过:

var app = $("#ApplicationID").val()

var app = $("#ApplicationID").get(0)

但仍然没有成功。有人在这里有什么想法吗?

4

2 回答 2

10
var app = $('#ApplicationID')[0] 

或者

var app = $('#ApplicationID').get(0)

应该做同样的事情

var app = document.getElementById('ApplicationID')
于 2009-12-07T14:22:43.707 回答
5

当你使用时,$("#ApplicationID")你会得到一个 jQuery 对象。

这就是为什么它不起作用。但$("#ApplicationID").get(0)实际上应该工作。

于 2009-12-07T14:22:37.600 回答