У меня получилось, но решение мне пока не нравится.Я бы предпочел более чистое решение, где я могу зафиксировать событие по нажатию кнопки и каким-то образом передать его в мой диалог, если это возможно.Так что я держусь и надеюсь, что у кого-то есть лучший ответ.Мой код, который заставил его работать (на данный момент):
$("#dialog-delete").dialog({
autoOpen: false,
height: 200,
width: 400,
modal: true,
resizable: false,
buttons: {
'Cancel': function () {
$(this).dialog('close');
},
'Yes': function () {
$(this).dialog('close');
$("[id*=btnDelete]")[0].click();
//__doPostBack('ctl00$cp1$btnVoid','');
}
},
open: function () {
$(":button:contains('Yes')").addClass("red");
}
});
$("[id*=btnDelete]").live('mousedown', function (e) {
e.preventDefault();
$("#dialog-delete").dialog('open');
});
Основан на справке из @jdavies выше (и моих комментариях для улучшения ответа).Я изменил свой обработчик кнопки на событие mousedown и запустил событие click в обработчике кнопки Yes.
Мне интересно, что произойдет, если пользователь нажмет кнопку через клавиатуру, что является одной из причин этогомне не нравиться:)
Стремление к чему-то лучшему, но оно работает по крайней мере ...