У меня есть вопрос jQuery/jGrowl, касающийся того, как поддерживать состояние представленных jGrowls. У меня есть система уведомлений, которую я создал с помощью PHP/MySQL. Это легкая часть. Мне удалось правильно отобразить jGrowls.jGrowl и Close Callback для запроса Ajax?
Теперь я хотел бы поддерживать состояние сообщений/jGrowls, пока пользователь не нажмет на «Закрыть» для каждого отдельного jGrowl или ссылки «закрыть все», которая закрывает все jGrowls. У меня есть таблица MySQL users_notifications, где я могу управлять тем, какие уведомления были «прочитаны». Я предполагаю, что наилучшим подходом было бы сделать запрос getJSON (ajax) обратно на сервер, используя обратные вызовы close() или beforeClose(), но я не уверен, как это записать. Мне нужно передать идентификатор уведомления обратно через запрос.
Обновление 02/12: Я думаю, что узнал, что меня смущает.
При тестировании я использовал 2 или 3 уведомления (jGrowls). Я ожидал, что функция обратного вызова beforeClose() будет срабатывать, когда пользователь нажимает на отдельную ссылку jGrowl close, ссылку «x» в правой части jGrowl. Есть ли обратный вызов для закрытия «x»? Обратите внимание, что обратный вызов beforeClose() срабатывает корректно, когда пользователь нажимает «закрыть все» и запускает функцию для каждого jGrowl. Итак, в некотором смысле, «закрыть все» действует как ссылка «Отметить все как прочитано», а ссылки «x» ничего не делают. Является ли это предполагаемой функциональностью?
Спасибо, что ответили на этого Стэна. Я действительно не ожидал ответа автора или jGrowl. Что касается beforeClose(), я добавил некоторые дополнительные комментарии выше (Update 02/12). Кажется, я не могу закрыть 'x', чтобы вызвать функцию обратного вызова beforeClose(). Кажется, что «закрыть все» запускает beforeClose(). – jjwdesign
Дальнейшая проверка: если я использую обратный вызов close(), то нажатие на кнопку «x» или «закрыть все» вызовет функцию обратного вызова close(). С closeBefore() я вижу только триггер на «закрыть все». – jjwdesign
Упс! Индивидуальное закрытие, не запускающее beforeClose(), на самом деле является ошибкой. Я подал его на github и исправит его сегодня вечером. FYI: https://github.com/stanlemon/jGrowl/issues/4 – stanlemon