好吧,我绝不是一个JavaScript大师,也许我还在考虑桌面软件开发,但这正是我想要实现的目标:
问题:
我的意思是:
这是我的模态的HTML代码(如果按钮是 - 不知何故 - 通过他们的onclick
javascript例程进行操作?) - 还要注意#confirmMessage
将是可变的。
<div class="modal fade hide" id="confirmAlert">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">x</button>
<h3 id="confirmTitle">Are you sure?</h3>
</div>
<div class="modal-body">
<p id="confirmMessage">Body</p>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal">Cancel</a>
<a href="#" class="btn btn-danger">Yes</a>
</div>
</div>
只是一个想法:
checkBeforeExec(message,functionToExec)
#confirmMessage
设置为消息,将'href设置为javascript:functionToExec
我知道这听起来有点令人困惑 - 但我根本不知道最友好的javascript方式是什么......
答案 0 :(得分:11)
我创建了一个围绕模态的对话管理器,其中confirm
辅助函数基本上就是这样做的:
var callback = function(result) {
alert(result);
}); // define your callback somewhere
$('#confirmAlert').on('click', '.btn, .close', function() {
$(this).addClass('modal-result'); // mark which button was clicked
}).on('hidden', function() {
var result = $(this).find('.modal-result').filter('.btn-danger').length > 0; // attempt to filter by what you consider the "YES" button; if it was clicked, result should be true.
callback(result); // invoke the callback with result
});
此外,您应该同时选择取消和是按钮data-dismiss="modal"
。
Here's a fiddle, with a simple example of my dialog manager
请注意,如果您使用 Bootstrap 3 ,则应该为hidden.bs.modal
事件添加处理程序,而不是hidden
。
答案 1 :(得分:1)
使用jquery,您可以使用类似
的内容$('.btn').click(function(){
val=$(this).val()
if(val=='Yes'){
//continue the processing
}
})