У меня есть страница с 2 пользовательскими элементами управления, каждый из которых опрашивает БД с помощью вызова AJAX, хотя один 1 - PullRequest
0 голосов
/ 22 августа 2009

У меня есть страница с 2 пользовательскими элементами управления, UC1 и UC2.

Оба пользовательских элемента управления опрашивают базу данных с помощью вызова ajax.

UC1 должен выполнить опрос, если кнопка UC2 не была нажата.

т.е. только 1 опрос ajax за раз, с учетом вышеуказанной логики.

Оба UC имеют вызов jQuery onReady, который инициализирует таймер.

Как я могу сказать UC1 не опрашивать, если нажата кнопка UC2?

1 Ответ

2 голосов
/ 22 августа 2009

Вы можете добавить атрибут class в UC2 при событии click или submit и иметь UC1 проверку на наличие этого класса. Если оно на месте, не вызывайте событие.

$("uc2").click(function() {
    if (!$(this).hasClass("pressed")) {
        $(this).addClass("pressed");
    }
});

$("uc1").click(function() {
    if ($("uc2").hasClass("pressed")) {
        return false;
    } else {
        // whatever
    }
});

Редактировать: Перечитать и уточнить ... Если UC1 опрашивает автоматически по таймеру, вы можете проверить класс во время этого события. Не обязательно должен существовать в обработчике кликов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...