【发布时间】:2011-05-19 07:56:54
【问题描述】:
我有一个 index.html 页面,其中包含一个按钮id="my-btn"
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>My INDEX PAGE</title>
</head>
<body>
<div id="my-canvas"></div>
<br><input type="button" id="my-btn" value="OPEN NEW WINDOW"/>
<script src="js/jquery-1.5.1.js"></script>
<script src="js/raphael.js"></script>
<script src="js/my-graph.js"></script>
<script src="js/my.js"></script>
</body>
</html>
js/my.js 从 my-graph.js 调用 createCircle 函数,并处理按钮点击事件,当my-btn按钮被点击时,会弹出一个新的浏览器窗口,有一个新的页面(test.html)
my.js:
MyTest.createCircle();
$('#my-btn').click(function(){
window.open('test.html', 'testwindow');
});
my-graph.js:
MyTest= function(){
var paper = Raphael("my-canvas", 320, 200);
var st=paper.set();
return {
createCircle: function(){
st.push(
paper.circle(10, 10, 5),
paper.circle(30, 10, 5)
);
}
getSet: function(){
return st;
}
};
}();
新页面(test.html)在新浏览器窗口中打开:
test.html:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>TEST</title>
</head>
<body>
<div id="my-name"></div>
<script src="js/jquery-1.5.1.js"></script>
<script src="js/my-graph.js"></script>
<script src="js/test.js"></script>
</body>
</html>
在新页面中,test.js 将被调用,我想通过 Paper.set() st from my-graph.js 到这个 test.js 并输出 st.length 作为这个页面的内容
js/test.js
$(document).ready(function(){
var st=MyTest.getSet();
$("#my-name").append("<strong>"+st.length+"</strong>");
});
但我总是在新弹出的页面中得到 0 长度的 st。为什么?
【问题讨论】:
标签: javascript jquery raphael jquery-events