【问题标题】:How to load a piece of script inside jquery overlay?如何在 jquery 覆盖层中加载一段脚本?
【发布时间】:2011-02-26 02:24:33
【问题描述】:

我正在使用这个http://flowplayer.org/tools/demos/overlay/external.html 打开一个覆盖,该覆盖加载一个外部页面,其中包含用于填充该页面的 php 代码。当我尝试运行这个时,我的问题就来了:

<script type="text/javascript"> 
                    $("#thumb1").mouseover(function() {
                        $("#main_picture_content").attr("src","images/p79_wg_amethyst_bezel_2.jpg");
                        $(this).mouseout(function() {
                            $("#main_picture_content").attr("src","images/p79_wg_amethyst_bezel_1.jpg");
                        });
                    });
                </script> 

在该页面内(在叠加层内)。加载叠加层时会加载这些图像源。该脚本无法正常工作。我的猜测是它没有加载。我四处阅读并提到了 $getscript,但还没有真正的解决方案。有什么帮助吗?

【问题讨论】:

  • 哦哦哦,脚本。我读错了:/

标签: jquery load overlay external


【解决方案1】:

thumb1main_picture_content 的 jquery 函数对于在叠加层内加载的页面无效,因为在最初加载 js/jquery 时该叠加层(及其中的元素)不存在。

您现在和将来都需要使用.live() 来激活现有元素。尝试类似(未经测试):

$("#thumb1").live('mouseover', function() {
                        ...
                    });

并将其放在父 js 文件中

【讨论】:

  • 您从中加载叠加层的父页面
  • 是的,但问题是这些图像的来源是在叠加层内的页面加载时收到的。
  • 没关系 - 更改 img src 只是 jquery 函数的结果。问题是你的函数必须使用 live() 或 bind() 以便 jquery 代码仍然可以工作,即使元素不存在,直到覆盖出现
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-07
  • 1970-01-01
  • 2017-03-06
  • 2021-11-21
  • 1970-01-01
  • 2012-12-17
  • 2016-01-16
相关资源
最近更新 更多