我正在研究一个依赖于jQuery的Web应用程序。我有一个选择的结构类似:jQuery多窗口访问和处理程序
<select id='task_id'>
<option value=''>Select</option>
<option value='0001'>First Task</option>
<option value='0002'>Second Task</option>
<option value='addnew'>Add New...</option>
</select>
而且我也有一些jQuery的打开一个新的窗口时,有人选择“添加新...”,这样他们就可以在另一页上输入详细信息。
var newTask;
$("select").change(function(){
if($(this).val() == "addnew"){
if(newTask)
newTask.close();
newTask = window.open("/projects/add-task", "newTask", "width=990,height=600");
} else {
if(newTask)
newTask.close();
}
我想从父窗口的形式添加事件处理程序提交的子窗口中的按钮,这样,当有人提出(即它们添加完)形式,该窗口将关闭。我有什么是这样的:
$("form", newTask.document).submit(function(){
newTask.close();
});
});
就其本身而言,它不起作用,但它不会产生任何错误。如果我打开了Chrome检查,并运行下面,一行行,其行为略有不同:
1. var newWin = window.open("/projects/new");
2. $("form", newWin.document).submit(function(){
newWin.close();
});
我想我的问题是为什么没有工作,除非我手动通过运行一行行控制台,我该如何解决这个问题?
我不是试图从孩子的父窗口访问,但反过来。我知道我可以做到这一点,因为我已经用Inspector手动完成了它,但是当我尝试使用脚本时,它不起作用。我认为这与DOM尚未加载到子窗口上有关。 – Goldentoa11 2013-03-16 19:21:32