1

这是一个场景:从create.jsp,我正在创建一个播放按钮和一个音频标签,如下所示:

//play button
out.write("<input type=\"button\" id=\"playButton\" value=\"Play Now\" >");
out.write("");

//audio element
out.write("<audio id=\"sound\" preload=\"auto\">");
//out.write("<source src=\"sfl\" type=\"audio/ogg\" />");
out.write("<source src=\"sfl\" type=\"audio/mpeg\" />");
out.write("Your browser does not support the audio element.");
out.write("</audio>");

我使用了一个框架将其带到home.jsp,如下所示:

<iframe id='bgframe' style='display:compact;' src='create.jsp' width="400" height="200"></iframe>

在我的 jquery 代码中,我有

    $("#playButton").click(function(){
    alert("Play button clicked");
    }

但是当我单击播放按钮时没有任何反应。

问题:如何使用 jquery 或 javascript 捕获通过框架部署的播放按钮上的点击事件?

4

3 回答 3

0

按照设计,来自父框架的 JavaScript 不能作用于 iframe 中包含的元素。

于 2013-04-12T19:08:34.990 回答
0

你需要使用contents()

$("#bgframe").contents().find("#playButton").click(function(){
    alert("Play button clicked");
}
于 2013-04-12T19:17:11.420 回答
0

尝试这个

out.write("<script>function(){//your code here}</script>");
out.write("<input type=\"button\" onclick=\"demo()"\ id=\"playButton\" value=\"Play Now\" >");

或者

out.write("<script src="file name where code is placed"></script>");
out.write("<input type=\"button\" id=\"playButton\" value=\"Play Now\" >");
于 2013-04-12T19:12:14.180 回答