我有一个带有两个按钮的对话框(是 - 否)。每一个都触发一个函数
$('#divDialog').dialog({
modal:true,
width:450,
resizable: false,
buttons: [{
text: 'Yes',
click: function () {
/*Do stuff when clicking yes*/
}},{
text: 'No',
click: function () {
/*Do stuff when clicking no*/
}}],
close: function(ev, ui){
/*Do stuff always when closing*/
}
});
当我点击顶部的“X”按钮时,我想要执行与“否”按钮相同的代码。所以我将该代码放在“关闭”函数中。但是,单击“是”时也会执行代码。
如何在点击“X”时执行该代码,而不是在点击“是”时执行该代码?
感谢。
答案 0 :(得分:0)
定义一个函数,并在用户单击yes或关闭对话框时调用它。
column
答案 1 :(得分:0)
你可以通过在jQueryUI init之外声明函数来做到这一点:
var onClick = function(ev, ui) {
console.log(ev);
if(ev.type == "click") {
this.isYes = (ev.originalEvent.currentTarget.textContent == "Yes")
$(this).dialog('close');
} else {
if(this.isYes){
alert("Yes");
} else {
alert("No");
}
}
}
$('#divDialog').dialog({
modal:true,
width:450,
resizable: false,
buttons: [{
text: 'Yes',
click: onClick
},{
text: 'No',
click: onClick
}],
close: onClick
});
答案 2 :(得分:0)
您需要做的就是定义一个函数并在需要的地方调用它,如下所示。
演示@ Fiddle
function myFunction() {
alert ("I am clicked");
}
$('#divDialog').dialog({
modal:true,
width:450,
resizable: false,
buttons: [{
text: 'Yes',
click: function() {}
}, {
text: 'No',
click: myFunction
}],
close: myFunction
});