jquery - 在 jQuery UI 对话框中触发按钮单击

标签 jquery jquery-ui

这是一个非常简单的问题,我没有找到答案。我有一个对话框,在对话框内发生的某些事件中,我想单击其中一个对话框按钮。定义对话框的代码是:

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/

相关文章:

javascript - 右键单击并左键单击选项卡打开

jquery - 什么是用于关闭屏幕键盘的 Mobile Safari 事件?

javascript - 如何通过 jQuery UI 使整个 DOM 可拖动和可调整大小?

javascript - 固定标记在中心并拖动 map 以获得纬度,经度

javascript - 自动完成类别和远程数据源

javascript - 结合 $(this) 和 $ ("li:eq(ui.item.index())")

javascript - jQuery click(fn) 不适用于输入元素

javascript - 在 select onchange 上更改样式并停止返回到原始样式

c# - 相当于 .NET 的 DateTime.Parse 的 Javascript

javascript - jQuery UI 可排序 - 表格单元格在排序时丢失边框