关闭前的精彩弹出操作
Magnific Popup action before close
我已经在我的解决方案中实现了Magnific Popup,我正在使用Bootbox从用户那里获得确认,他想关闭窗口而不保存更改等。
我将我的自定义函数连接到关闭回调,但它没有按预期工作。
$('#divThumbnails').magnificPopup({
delegate: 'a',
type: 'inline',
midClick: true,
callbacks: {
close: function () {
var confirm = bootbox.confirm('Are you sure?', function(result) {
});
if (confirm)
return true;
else
return false;
}
}
});
这只是一个快速样本,而不是生产代码。if-else语句之所以存在,是因为否则Bootbox对话框无法显示(通常不需要检查返回值,因为它作为参数传递,在本例中称为result)。
问题是,在我点击关闭按钮后,我的图像(即弹出窗口的内容)消失了。我希望有机会取消关闭操作,并实现这一点,我需要一个将在关闭弹出窗口之前触发的事件。
这可以用华丽的弹出菜单实现吗?
// this part overrides "close" method in MagnificPopup object
$.magnificPopup.instance.close = function () {
if (!confirm("Are you sure?")) {
return;
}
// "proto" variable holds MagnificPopup class prototype
// The above change that we did to instance is not applied to the prototype,
// which allows us to call parent method:
$.magnificPopup.proto.close.call(this);
};
http://codepen.io/dimsemenov/pen/edCgo
此代码只覆盖当前打开的弹出窗口!如果您在关闭后打开相同的弹出窗口,此回调将消失!
$.magnificPopup.instance.st.callbacks.close=function(){
// your code here
// this actually close popup
$.magnificPopup.proto.close.call(this);
};
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何确定javascript已经完成了某些操作.ios上的
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 从JavaScript访问struts操作中的属性
- fluxxor向一个flux实例添加一组以上的操作
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 操作放置在画布上的元素之间的连接
- 使用“+="操作人员
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- Jquery未定义函数正在停止其他操作
- 如何操作iframe之外的元素
- javascript对象操作:根据指定条件选择属性
- jQuery:暂停按钮可以暂停所有其他操作
- 用于选择/文本框操作的JavaScript
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- 通过javascript操作图像,非常简单
- 将文本框中的值用于按钮窗体操作上的变量
- 当通过AJAX调用时,控制器操作不会执行
- 关闭前的精彩弹出操作