У меня действительно странное поведение, я в основном хочу, чтобы мои кнопки имели симпатичный стиль, и я хочу модальную форму подтверждения сохранения и отмены изменений в веб-форме.события, которые выполняют сохранение и десиккаринг, являются событиями asp.net, связанными с серверными элементами управления, украсив кнопки классом, я могу получить jQuery, чтобы они выглядели красиво, и щелкнув по ним, они работают, как если бы они были стандартными элементами управления на стороне сервера.
поэтому я написал небольшой сценарий, который в основном гласит:
$("#confirmSave-dialog").dialog({
resizable: false,
autoOpen: false,
height: 150,
modal: true,
buttons: { 'Save': function() {
$(".SAVER").trigger('click');
$(this).dialog('close');
},
'Cancel': function() {
$(this).dialog('close');
}
}
});
$(".SAVER").button();
$(".SAVER").click(function(event) {
var bool = $("#confirmSave-dialog").dialog('isOpen');
if (!bool) {
event.preventDefault();
$("#confirmSave-dialog").dialog('open');
}
});
идея состоит в том, что когда пользователь нажимает кнопку, он вызывает элемент управления и прерывает событие click, вызывающее обратную передачу, но если онинажмите сохранить в форме, затем событие click увидит, что форма открыта и не должна прерывать обратную передачу.проблема в том, что это кажется случайным, если это работает.это не работало, и я переместил его в отдельную функцию и включил некоторые директивы отладчика, например:
$(".SAVER").click(function(event) {
var bool = $("#confirmSave-dialog").dialog('isOpen');
if (!bool) {
debugger;
event.preventDefault();
$("#confirmSave-dialog").dialog('open');
}
debugger;
});
с запущенным firebug сейчас и затем он запускает событие, как и должно, с не запущенным firebugэто никогда не происходит, без директив отладчика, которые он никогда не делает.
, даже если запущенный отладчик следует по правильному пути в первый раз, когда событие вызывается щелчком по нему и запускает диалоговое окно, а затем, когда происходит сохранениещелкнув по нему, пропускается event.preventDefault ();Позвоните, но не сработает.?
Понятия не имею, зачем нужны идеи / способы исправления / более эффективные способы запуска серверного события?
Заранее спасибо, Лука