在另一个窗口上绑定事件

时间:2010-05-28 19:41:25

标签: javascript jquery events binding javascript-events

我正在处理图片浏览器/上传功能,我正在使用PHP Image Editor来帮助我允许用户在上传图像后对其进行编辑。图像不存储在Web服务器上,而是存储在单独的文件服务器上。所以我所做的是:当从图像浏览器页面选择图像进行编辑时,我将图像从文件服务器下载到Web服务器上的临时文件,在新的弹出窗口中将该临时文件发送到PHP图像编辑器,他们可以编辑然后我就被卡住了

当在新的子弹出窗口中单击“Save and Close”按钮时,它会将图像上的所有更改保存回临时文件,然后我需要将其上传回文件服务器。我正在寻找一种方法来绑定我的新PHP图像编辑器弹出窗口中的“Save and Close”按钮从父窗口JS,这将让我知道何时将临时文件上传回文件服务器。

是否可以从其父窗口绑定到新弹出窗口中的事件?

即: 父窗口中的JS

$('a.edit').click(function(event) {
    var $newWindow = window.open(myHREF); // <-- Child Window
    $newWindow.focus();
    return false;
});

当子窗口完成加载时,它将保存我的phpimageeditor / index.php文件中的内容,而在DOM中则是“保存并关闭”按钮(#bnsnsave)。

我可以在父窗口中的JS文件中定位该节点(#btnsave),因为它创建了新的弹出窗口吗?

1 个答案:

答案 0 :(得分:3)

是的,只需将上下文添加到jquery选择器:

$('#btnsave',newWindow).bind('whatever',function(){//stuff});