2010-09-29 122 views
3

我可以在FF和Chrome中的弹出窗口中的父窗口按钮上成功触发单击事件...但是IE中没有任何事情发生。有任何想法吗?在弹出的父窗口中触发点击事件

window.opener.document.getElementById(Client ID Of Button).click(); 
+0

您能告诉我们打开弹出窗口的代码吗? window.open ... – 2010-09-29 14:20:27

+0

这通常适用于我的所有浏览器,你可以发布一些代码?最好只是来自开启者和弹出者的有问题的代码。 – 2011-08-05 22:05:45

回答

1

我想在你的IE应该写:“ self.opener

我想这个问题是在打开这个弹出的window.open功能,确保有在页面中没有空格名称和窗口名称。

+0

嗯...我给了这个去,但不幸的是它没有工作。 – Paul 2010-09-29 14:11:08

0

我认为会工作,但注意:elementID应在报价和DOM指定事件家住的onClick()

window.opener.document.getElementById(“客户端ID按钮”) .onClick();

你也可以使用self.opener

或window.parent或self.parent

希望这些想法有助于

+0

感谢您的建议,但不幸的是这些选项在IE中都没有工作,并且很多都停止在FF和Chrome上工作。 – Paul 2010-09-29 14:12:20

+0

也许我们可以看到更多的来源? – 2010-09-29 14:38:14

1

$(parent.document.getElementById('clientId')).trigger('click');

+0

确实如此,但它需要在Internet Explorer中工作:) – Paul 2010-09-29 14:03:55

+0

好吧我从来没有在IE中测试过它,但你需要两个版本,但你需要做的只是.trigger('click')应该在你的代码更正 – 2010-09-29 14:24:41

1

标准答案在这里工作在FF正常基于GUI的代码是说,如果你的.click事件调用了一个命名方法,并且在该方法中包含了所有实际代码,那么让外部对象调用这个命名方法比调用它更容易它尝试并触发点击事件。

不知道这适用于你的javascript问题,因为它不是我的领域,但就我而言,除非你有深刻和刻意的需要实际上有一个按钮被按下,它远更简单地调用一个方法。

+0

大声笑,我完全同意,但我诉诸这种方法,因为我不能在弹出窗口中激活所需的父方法。 – Paul 2010-09-29 14:10:36

1
window.opener.document.getElementById(Client ID Of Button).click(); 

从上面的代码中,只需删除“窗口”。然后再试一次。它在IE中为我工作。

已更正:opener.document.getElementById(Client ID Of Button).click();

相关问题