这是一个非常简单的问题,我没有找到答案。我有一个对话框,在对话框内发生的某些事件中,我想单击其中一个对话框按钮。定义对话框的代码是:
var dialog = $('<div>').dialog({
autoOpen: false,
title : title,
resizable : false,
buttons : {
'CANCEL' : {
text : messages.Cancel,
click : function(){$(this).dialog('close')}
},
'OK' : {
text : messages.Ok,
click : okButtonCallback
}
}
});
在我的事件中,我可以获取对话框,找到按钮,但我无法使用这样传递的正确引用来触发单击事件。我这样做:
buttons = dialog.dialog('option', 'buttons');
我有按钮,每个按钮都有点击功能。如果直接调用或通过触发器('click')调用,它们会调用按钮的单击事件,但使用按钮本身而不是对话框对象。 我看到有地方可以打电话
buttons['OK'].apply(dialog);
但是我的按钮完全没有应用功能!
我不知道我能做什么!
最佳答案
首先,你需要获取buttons[0]
而不是buttons['OK']
,那么,它不是一个函数,而是一个对象,尝试获取单击这样的功能:
buttons[0].click.apply(dialog);
关于jquery - 在 jQuery UI 对话框中触发按钮单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7530980/