Как мне добавить атрибут в диалоговое окно Jquery?

#jquery #.net #asp.net #asp.net-mvc

#jquery #.net #asp.net #asp.net-mvc

Вопрос:

У меня есть функция диалога из jquery, которая работает нормально. У меня также есть функция «Обработки» в моем javascript, которая запускается при публикации любой ссылки submit / href. Кнопка закрытия («x» в правом верхнем углу) каким-то образом запускает функцию отправки / href. Я хотел бы добавить атрибут onclick на кнопку закрытия для вызова моей «NoProcessing» (функция js для предотвращения href / отправки processing.js файл не запускается) при его закрытии. Как мне добавить это?

 <script>
$(document).ready(function() {
  $("#dialog").dialog(
      autoOpen: false,
      overflow: 'hidden',
      width: ($('#dialog').width()   130)
  );
});
</script>
  

Комментарии:

1. Вы имеете в виду, что хотите предотвратить поведение ссылки на кнопку закрытия по умолчанию, чтобы она не обновляла URL?

2. Вопрос не совсем ясен. Вы хотите добавить событие щелчка к кнопке закрытия, чтобы предотвратить использование href? Вы имеете в виду, что хотите запретить переход по ссылке на другую страницу при нажатии?

Ответ №1:

Событие закрытия уже произошло

 <script>
$(document).ready(function() {
  $("#dialog").dialog(
      autoOpen: false,
      overflow: 'hidden',
        close: function(event, ui) { 
            // do somehting
                            //maybe 
                          event.preventDefault();
                          notProcesseing();

        },
      width: ($('#dialog').width()   130)
  );
});
</script>
  

Комментарии:

1. Похоже, я добиваюсь прогресса. Мне просто нужно знать, как вызвать мою функцию notProcessing() из моего унаследованного js-файла. Я внес некоторые правки

Ответ №2:

Он должен быть в ‘BeforeClose’. Close запускается после того, как диалоговое окно уже закрыто.

 $("#dialog").dialog({
    beforeClose: function(event, ui) { 
        event.preventDefault(true); 
    }
});
  

ОБНОВЛЕНИЕ: Затем, чтобы удалить привязку или тег href, вы могли бы:

 $("#dialog").dialog({
    open: function(event, ui) { 
        $('span.ui-icon-closethick').removeAttr('href');
    }
});
  

Комментарии:

1. Это предотвратит закрытие диалогового окна !

2. ДА. Возможно, я неправильно понял вопрос. но я думал, что это то, о чем он просил.

3. Я хотел бы закрыть диалоговое окно, но по какой-то причине моя функция обработки отправки / href не работает

4. поскольку кнопка x close в href он хочет предотвратить запуск href

5. @mcgrailim — Это правильно! Я хотел бы вызвать свою функцию notProcesseing() в моем унаследованном файле js. Я внес некоторые изменения