这个问题看起来很蠢,但我不知道如何等待确认按钮返回值。由于JavaScript是基于单线程的,所以我需要知道如何设置类似回调函数的东西,直到按下按钮。这是对话框的结构:
<div class="modal fade" id="confirmation" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Confirm</h4>
</div>
<div class="modal-body">
<label>Are you sure?</label>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-ok" data-dismiss="modal">Continue</button>
<a class="btn btn-danger" data-dismiss="modal">Cancel
</a>
</div>
</div>
</div>
</div>
<button id="go">press me</button>
和js:
$(document).ready(function()
{
$('#go').click(function()
{
$('#confirmation').modal('show');
//if the user has pressed the .btn-ok button then an alert appear
alert(true);
})
});
实际上,当用户按下按钮时,会出现一个bootstrap对话框。我只需要在用户按下继续按钮.bnt-ok
时显示警告,但事实上我不知道如何做。有人可以向我展示如何吗?谢谢。
更新
1 用户触发事件并执行函数one
:
one: function()
{
if(two()) //if function two return true then show alert
{
alert(true);
}
}
2 显示 Bootstrap 对话框的函数:
two: function()
{
$('#confirmation').show();
//here I need to check if the user has pressed btn-ok, if yes,
//I need to return true, otherwise false
return true;
}
问题出现在函数two
中,因为没有办法在用户点击按钮之前停止函数。因此确认对话框会显示,但函数会返回true。我该如何等待用户点击?