Ответ 1
Прежде всего, вам нужно получить buttons[0]
not buttons['OK']
, то это не функция, которую он объект, попробуйте нажать эту функцию следующим образом:
buttons[0].click.apply(dialog);
Это очень простой вопрос, что я не нахожу ответа на него. У меня есть диалог, и в некоторых случаях, происходящих внутри диалогового окна, я хочу нажать одну из кнопок диалога. Код, который определяет диалоговое окно:
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
}
}
});
и в моем случае я могу получить диалог, найти кнопки, но я не могу запустить событие click с правой ссылкой, переданной как это. Я делаю это:
buttons = dialog.dialog('option', 'buttons');
и у меня есть кнопки, каждая из которых имеет функцию щелчка. Если вызывается напрямую или через триггер ('click'), они вызывают событие нажатия кнопки, но с самой кнопкой, так как это не объект диалога. Я видел где-то позвонить
buttons['OK'].apply(dialog);
но мои кнопки абсолютно не применимы!
Я не уверен, что я могу сделать!
Прежде всего, вам нужно получить buttons[0]
not buttons['OK']
, то это не функция, которую он объект, попробуйте нажать эту функцию следующим образом:
buttons[0].click.apply(dialog);
$('.ui-button:contains("Ok")').click()
Что я использую:
// Get the buttons
var buttons = $("#myDialog").dialog("option", "buttons");
// Calls the event
buttons["OK"]();