如何在nyroModal iFrame上制作手动关闭链接?
我尝试使用此代码。但是,它似乎仅适用于第1版
<a href="#" onclick="parent.$.nyroModalRemove(); return false;">Close From Iframe</a>
请帮帮我〜 我是jQuery的新手,不知道如何自定义代码。
答案 0 :(得分:3)
nyromodal有一个默认的函数来查找一个类(nyroModalClose),如果一个元素有这个类,则使用它作为一个紧密的链接。
所以不要:
<a href="#" onclick="parent.$.nyroModalRemove(); return false;">Close From Iframe</a>
尝试:
<a href="#" class="nyroModalClose">Close From Iframe</a>
当然你可以尝试选择顶级模态并用以下方法关闭它:
<a href="#" onclick="$.nmTop().close();">Close From Iframe</a>
答案 1 :(得分:1)
我有更好的运气,使用此
以编程方式从iframe中关闭iframe <a href="#" onclick="parent.$.nmTop().close();">Close From Iframe</a>
答案 2 :(得分:1)
我遇到了类似的问题,nyromodal对话框似乎没有正确关闭/打开。 $.nyroModalRemove()
实际上工作正常,class="nyroModalClose"
也是如此。
问题原来是IE(7和8)缓存AJAX请求。因此,下次您尝试从AJAX请求填充nyromodal时,它将不会重新提交,但会尝试重新使用缓存的请求结果,但因为它已被nyroModalRemove()
删除它只会似乎nyromodal没有加载。
将¶mx=Math.random()
附加到AJAX URL的末尾可以解决问题。
答案 3 :(得分:1)
这是我的解决方案,我现在在项目中使用它:
var win = window.dialogArguments || opener || parent || top;
win.$('.nyroModalClose').click();
如你所说,你可以这样做:
<a href="#" onclick="win.$('.nyroModalClose').click();return false;">Close From Iframe</a>