Есть ли способ распознать и выполнить код после завершения события click ()? - PullRequest
0 голосов
/ 09 апреля 2019

Я программно нажимаю кнопку, которая, когда закончится, покажет диалог на странице.

Я хочу изменить диалог после его полной загрузки, потому что часть кода, следующего за щелчком, изменяет диалог.

Это достижимо с помощью функции с тайм-аутом, но я изучаютаким образом, чтобы не использовать установленное время ожидания, а отслеживать, когда действие щелчка завершено.

Примечание: 1. Я не могу изменить код, который выполняется при нажатии кнопки.2. Мне нужно найти решение, которое не основано на времени, так как оно может варьироваться, хотя и незначительно, но это все же то, чего я хотел бы избежать.

Пример кода ниже, который работает - достаточно времени для кликадо конца

function modifyDialogue() {
    $("#dialogue").click();
    setTimeout(function() { 
        $("#scrollBar").remove();
    }, 30);
}

Пример кода, который не работает - не достаточно времени для отображения scrollBar.ScrollBar отображает в зависимости от длины текста внутри диалога.Но так как времени недостаточно, удаление не происходит.

function modifyDialogue() {
    $("#dialogue").click();
    $("#scrollBar").remove();
}

1 Ответ

0 голосов
/ 09 апреля 2019

Отредактировано: это независимо от того, когда он загружается, будет скрывать полосу прокрутки.

function modifyDialogue() {
    $("#dialogue").click();
    $("body").css("overflow", "hidden");
}
// Alternate
$( "button" ).on( "click", function() {
  $("body").css("overflow", "hidden");
});
...