如何暂停页面转换,直到隐藏模态?

时间:2017-04-28 15:42:34

标签: javascript jquery twitter-bootstrap modal-dialog bootstrap-modal

我有一个模态,我显示:

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()后会触发转换。

有没有办法可以暂停执行,直到模态被隐藏/解除/等?

1 个答案:

答案 0 :(得分:0)

如果您将self._nextQuestion();的呼叫转移到#aws-submithide.bs.modal处理程序的点击处理程序中,则该页面不应转换,直到用户完成该模式并提交它。