单击父级(相同域)中的iframe open事件?

时间:2010-11-24 19:59:14

标签: java javascript jquery

我想使用.slideToggle从我的日历中打开事件详细信息(在iframe中)我的代码是:

<div id="clickme"><iframe id="frame" src="index.php?option=com_jevents&view=month&task=month.calendar&template=ja_purity" mce_src="index.php?option=com_jevents&view=month&task=month.calendar&template=ja_purity">Your browser does not support iframes.</iframe></div>

<div id="book" style="display:none;"><iframe name="details" scrolling="no" frameborder="0"></iframe></div>
<script>
$('#clickme').click(function() {
  $('#book').slideToggle('slow', function() {
    // Animation complete.
  });
});
</script>

您可以在此处查看其工作原理:wisko.pl 现在只有当我点击iframe边框时才滑动工作。我想在日历中点击活动时打开它。可能吗?如何使用.click函数检查iframe中的div?

更新

谢谢。仍然无法正常工作。难道我做错了什么?我的主要文件有:

<script>
function showevent(){
$('#book').slideToggle('slow', function() {
    // Animation complete.
  });
}
</script>

在iframe中我放了:

<script>
$('#eventstyle').click(function() {
document.parent.showevent();
}
</script>

1 个答案:

答案 0 :(得分:0)

主文件中的

function showevent(){
$('#book').slideToggle('slow', function() {
    // Animation complete.
  });
}

内部iframe:

window.parent.showevent();

在iframe内部运行会导致该函数运行。而且你必须在iframe中捕获click事件 - 否则你不能。

编辑:  1.我的坏:我把document.parent放在这里而不是window.parent - 现在修复了  2.你的坏:当你使用jquery为事物分配点击事件时,你必须确定这些事情已经存在。所有jquery代码都应包含在$(document).ready(function(){/*your code here*/});这就是为什么它没有机会为你工作。