如何在函数内的函数内调用$(this)?

时间:2017-09-24 04:20:01

标签: jquery

我尝试在使用delay()的{​​{1}}内添加setTimeoutfunction()。我想使用$(this)因为这个脚本是针对每个表行运行的,所以它必须以同一行为目标。我可以使用$(this)等来实现这一点。但是我在函数内的函数内调用.closest()时遇到了困难。

如果我了解我出错的地方,那么$(this)会试图从$(this)获取自己的事实?如果是这样我怎么能拥有它所以我可以使用我一直在使用的相同的$(这个)?

有问题的代码:

setTimeout

完整代码:

setTimeout(function() {
 $(this).closest("td").next().find('.tabledit-save-button').click();
}, 2000)

提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以在变量中使用该变量并使用该变量而不是$(this),如下所示:

<script>
$(document).ready(function () {
    $(document).ajaxComplete(function () {
        $('.tabledit-view-mode').on( 'click', function(e){
            var current = $(this);
            current.closest("td").next().find('.tabledit-edit-button').click();
            current.find(".tabledit-input").val("completed");
            setTimeout(function() {
                current.closest("td").next().find('.tabledit-save-button').click();
            }, 2000)
        });
    });
});
</script>