jQuery停止其他函数的执行?

时间:2017-12-27 10:19:56

标签: javascript jquery

我想在我的代码中停止另一个函数的执行,我的JS代码如下:

<script>
    $(document).ready(function() {

        <?php if ($saveMethod) : ?>
        $("#running").html('<b>Save</b>');
        <?php else : ?>
        $("#running").html('<b>Skip</b>');
        <?php endif; ?>

        $("#running").click(function() {
            // tried to stop customRedirect();
            return false;
        });

        <?php if ($redirectURL != '') : ?>
        customRedirect (10, "timer", "<?= $redirectURL ?>");
        <?php endif; ?>
    });
</script>

我已经尝试过:

$("#running").click(function() {
  // tried to stop customRedirect();
  return false;
});

如果用户点击customRedirect,我想停止执行#running

1 个答案:

答案 0 :(得分:0)

我不知道你的customRedirect所以也许你可以将它实现到该函数中,但诀窍是将setTimeout分配给变量,以便我们可以在不需要时清除它它将再次发生:

let delayedRedirect = setTimeout( function(){
        window.location = '<?= $redirectURL ?>';
        // or your customRedirect() if you have anything fancy
    }, 10 *1000);


$("#running").html('<b><?=$saveMethod? "Save" : "Skip" ?></b>');
$("#running").click(function() {
    clearTimeout(delayedRedirect);
});