Я использую продукт под названием DHTMLXGrid, который является библиотекой JS для создания таблиц, подобных таблицам на веб-странице.Два процесса JavaScript «
Когда я редактирую ячейку, а затем выхожу за пределы ячейки, запускается событие (они вызывают его onCellEdit), и я делаю материал для обработки этого события - вызов AJAX для сохранения данных ячейки в БД.
Но если пользователь редактирует ячейку и нажимает кнопку за пределами сетки, которая запускает какой-либо другой JavaScript, обработчик onCellEdit не получит возможность запускать до запуска нового кода JS. Не вдаваясь в подробности, это все испортит.
Итак, у меня есть «Сетка-код» и «Код кнопки», и я хочу, чтобы код кнопки дождался, пока не будет выполнен Grid-код.
Итак, я попытался вставить глупый метод sleep() в начале запуска кода кнопки. Мое ошибочное мышление состояло в том, что это дало бы Grid-коду возможность работать. Но это предполагает многопоточность, чего, конечно, нет. В результате все действия JS-кода были задержаны, и мой код кнопки все еще выполнялся до кода Grid.
Таким образом, общая проблема заключается в том, что нажатие кнопки удаляет фокус с ранее выбранного элемента. И щелчок, и изменение/размытие - это события. Я хочу, чтобы событие blur обрабатывалось до события click. Происходит противоположное. Я предполагаю, что в чистом JS он будет работать таким образом (я его не пробовал), но это сложная библиотека, которая делает свое дело.
Нижняя строка - есть ли способ, по которому я могу асинхронно приостанавливать код кнопки, чтобы мой код Grid был завершен, а затем продолжить код кнопки?
Спасибо,
Пол
Вы должны принять ответы на свои вопросы, щелкнув полый флажок рядом с вашим любимым ответом. – SLaks