我有一个模态,我显示:
size_t byteToAlloc = 18;
我有与这个模态相关的事情的听众:
// display authentication
if (self.current === 0){
this.authenticated = false;
$('#login-modal').modal();
}
但是我注意到的是我的页面在等待模态输入时继续在后台转换(即,它转到我的问题列表中的下一个问题)。这是因为在 $("#login-modal").on('hide.bs.modal', function() {
if( !this.authenticated )
//do stuff, cancel, etc.
});
$("#login-modal").on('keydown', function( ev ) {
var keyCode = ev.keyCode || ev.which;
// enter
if( keyCode === 13 ) {
ev.preventDefault();
$('#aws-submit').click();
}
} );
// modal Login button
$('#aws-submit').click(function( ev ) {
ev.preventDefault();
var awsu = $('#awsu').val();
var awsp = $('#awsp').val();
if( awsu && awsp ) {
$('#login-modal').submit();
$('#login-modal').modal('hide');
}
if( !awsu ) {
$('#awsu').addClass('missing-input');
} else {
$('#awsu').removeClass('missing-input');
}
if( !awsp ) {
$('#awsp').addClass('missing-input');
} else {
$('#awsp').removeClass('missing-input');
}
});
调用$('#login-modal').modal()
后会触发转换。
有没有办法可以暂停执行,直到模态被隐藏/解除/等?
答案 0 :(得分:0)
如果您将self._nextQuestion();
的呼叫转移到#aws-submit
或hide.bs.modal
处理程序的点击处理程序中,则该页面不应转换,直到用户完成该模式并提交它。