【发布时间】:2015-03-17 05:10:45
【问题描述】:
我有一个在fancybox(2.1.5 版)iframe 中实现的表单。人们可以选择不填写表格并点击“X”关闭fancybox表格,或者填写表格并点击注册。
我有一个 beforeClose 回调设置来设置 cookie 并做一些工作。但我希望只有当有人点击“X”或 Esc 键时才会触发它。见下面的代码
$.fancybox.open({
type: "iframe",
href: "/[url].php",
autoSize: true,
height: "auto",
margin: 0,
padding: 0,
autoCenter: true,
maxWidth: 460,
maxHeight: 615,
modal: false,
iframe: {
scrolling: "no"
},
beforeClose: function () {
//set cookie code
},
});
但是如果有人要注册,它会显示一条感谢消息 2 秒钟并关闭花式框。这是通过使用window.parent.$.fancybox.close(); 完成的,请参阅下面的详细代码
$.post('/register.php', post_vars, function(data) {
window.parent.$.fancybox.close();
});
但是我不希望调用 beforeClose 事件以防我从 iFrame 关闭它,或者即使它被调用,我需要以某种方式知道它是从 iframe 完成的,而不是使用“X " 按钮。
有办法区分吗?
【问题讨论】:
-
你有代码吗?
-
@qamar 我已经在问题中添加了代码以便更好地解释
标签: javascript jquery iframe fancybox fancybox-2