@shaukote

Как организовать обмен данными между обработчиками jQuery?

Доброго времени суток.

Собираю небольшой проект на Bootstrap и jQuery.
По ходу дела потребовалось сделать удаление строки таблицы по нажатию с подтверждением модальным окном.
А весь код построен на $(" ... ").bind( ... ).
И получается, что нужно информацию об удаляемой строке передать из изначального обработчика в обработчики кнопок модального окна.
Единственное, что я смог придумать - создать глобальный (точнее, в области видимости $(document).ready(function() { ... });) объект и через его поля "передавать" нужную информацию.

Но такое решение трудно назвать приятным, как по мне.
С другой стороны, ситуация достаточно банальная, полагаю, кто-то уже ломал над эти голову.
Хотелось бы узнать, о возможных вариантах решения подобной задачи.

Спасибо.
  • Вопрос задан
  • 2430 просмотров
Решения вопроса 1
yttrium
@yttrium
Передача данных через замыкание это норма для JavaScript
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Testtest132
$("tr").click(function(e){
  if(!confirm("Are you sure?")) return;
  $( this ).remove();
});
Ответ написан
Комментировать
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Логично выглядит запуск процедуры по клику с передачей id удаляемой сущности.
В этой процедуре может вызываться модальное окно, но этому окну знание переданного id не нужно — у него задача лишь получить согласие (или отказ) на продолжение действий.
Получив ответ от модуля окна, процедура выполняет одно из возможных действий.

Всё это реализуется и без наличия объекта в замыкании всех обработчиков.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы