Javascript 有没有办法在不调用隐藏处理程序的情况下关闭引导模式
我用。我用一个处理程序绑定'hidden.bs.modal',但在一个特殊情况下,我需要关闭modal而不调用隐藏的处理程序,之后,下次用户打开modal并再次关闭它时,隐藏的处理程序会被正常调用:Javascript 有没有办法在不调用隐藏处理程序的情况下关闭引导模式,javascript,twitter-bootstrap,modal-dialog,Javascript,Twitter Bootstrap,Modal Dialog,我用。我用一个处理程序绑定'hidden.bs.modal',但在一个特殊情况下,我需要关闭modal而不调用隐藏的处理程序,之后,下次用户打开modal并再次关闭它时,隐藏的处理程序会被正常调用: //suppose modal is shown, unbind first to prevent the handler run $('..').unbind('hidden.bs.modal'); $('..').modal('hide'); //rebind the handler $('..
//suppose modal is shown, unbind first to prevent the handler run
$('..').unbind('hidden.bs.modal');
$('..').modal('hide');
//rebind the handler
$('..').bind('hidden.bs.modal',function(){//...});
但似乎不起作用:它仍然调用处理程序。
有没有办法做到这一点
谢谢我之前也遇到过同样的问题,并且在某些情况下使用了这种黑客手段来防止调用隐藏回调。希望对你有帮助
function close_modal_without_callback() {
$('#myModal').off('hidden.bs.modal');//`off` to remove event handler attached with `on`
$('#myModal').modal('hide'); // hide modal
setTimeout(function() { //to add little delay to reattach the event
$('#myModal').on('hidden.bs.modal', function(e) {
hidden_handler(); //handler function
});
}, 1000);
}
你试过先把它藏起来再解开吗?在元素上调用.modal('hide')会在解除绑定后再次附加事件$(“…”).modal(“隐藏”)$(“..”).unbind('hidden.bs.modal')$('..').bind('hidden.bs.modal',function(){/…});尝试过但没有成功,正如我所说,我想要的是“只隐藏模态而不调用隐藏的处理程序”,但下次打开对话框并隐藏它时,它将正常调用隐藏的处理程序。我可能不理解该场景。您不能只使用$('..).hide()?使用$('..').hide();确实隐藏了对话框,但留下了黑色背景,我无法再次与页面交互。这有点“黑客”,但你也可以。隐藏()该元素。你的黑客几乎完美无瑕,我只是忘记了尝试超时方法…非常感谢。太棒了!我怎么能想象,有云存在?!?!谢谢