在click()事件完成之后,是否可以识别并执行代码?

时间:2019-04-09 14:09:04

标签: javascript jquery click

我正在以编程方式单击一个按钮,完成后将在页面上显示一个对话框。

我想在对话完全加载后修改对话,因为单击后的部分代码会修改对话。

这可以通过带有超时的功能来实现,但是我正在探索一种方法,该方法不使用设置的超时,而是监视单击操作何时完成。

注意: 1.我无法修改单击按钮时执行的代码。 2.我需要实现一个不是基于时间的解决方案,因为尽管它变化不大,但仍然是我想避免的事情。

下面的示例代码可以正常工作-允许有足够的时间单击完成

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

示例代码无效-没有足够的时间来呈现scrollBar。 ScrollBar根据对话框中文本的长度进行渲染。但是由于时间不够,因此删除不会发生。

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

1 个答案:

答案 0 :(得分:0)

已编辑:无论何时加载,都将隐藏滚动条。

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