我正在开发一个管理界面,我无法理解如何获得特定的模态行为。我正在使用jQuery。
我已经有一个模态对话框系统,openModal(settings)
函数打开一个模态。根据设置,它将显示/隐藏或有时注入各种对话框。
我还有一个通用的确认对话框,这是我不确定如何工作的对话框。布局很简单:
<div id="confirmation-dialog">
<h2>Are you sure?</h2>
<button class="yes">Yes</button>
<button class="no">No</button>
</div>
我可以硬编码每个按钮来做我需要做的事情,但我希望这更通用。理想情况下,我希望它的功能如下:(我知道这不起作用)
function deleteImportantThing() {
if (confirmThis() == true) {
// Delete the thing
} else {
// Do nothing, close dialog
}
}
function confirmThis() {
openModal({kind: "confirm"});
// Check which button is clicked, then return true or false
}
我想我只是不知道足够的JavaScript来使这个工作,甚至不知道在哪里看。有什么建议吗?
我知道那里有模态对话框插件,但是我必须改变其余模态的工作方式来集成它们,如果可能的话,我想自己这样做。
答案 0 :(得分:0)
带点的类名可能会有点繁琐,但您可以将jquery行为连接到这些按钮。也许下面的内容会让你(或至少接近):
// the two backticks are to escape the special 'dot' character within the class name
$(document).on('click', '.button\\.yes', function(e){
e.preventDefault();
return true;// not entirely sure this will work as a 'confirm', so you might instead need to call some other function that accomplishes the desired task
});
$(document).on('click', '.button\\.no', function(e){
e.preventDefault();
return false;
});