我有一个非常简单的页面,我可以从中显示一些缩略图,我想点击它们来显示放大的图像。
所以我在对象类的主页面中设置了一个点击功能" .pic":
$(".pic").click( function() {
var img_data = {};
img_data.img_name= $(this).attr("src");
img_data.img_caption= $(this).attr("alt");
var img_win=window.open("apri_foto.html","_blank","height=600");
});
这是子窗口中的代码
$(document).ready(function() {
var data=window.opener.img_data;
alert (data);
});
现在的问题是在子窗口中变量是未定义的。 我也尝试过反向,即从父目录设置,但它不起作用。我现在很容易,但我真的不明白我错在哪里。为了预测疑问,打开的页面来自同一个域(它位于同一个文件夹中)。 你能救我吗?
答案 0 :(得分:0)
您的问题是img_data
变量的范围:它是本地的。您需要将它放在全局范围内,否则当单击处理程序退出时它将被销毁。这意味着您需要在任何函数之外定义它:
var img_data = {};
$(".pic").click( function() {
img_data.img_name= $(this).attr("src");
img_data.img_caption= $(this).attr("alt");
var img_win=window.open("apri_foto.html","_blank","height=600");
});