我尝试在使用delay()
的{{1}}内添加setTimeout
或function()
。我想使用$(this)
因为这个脚本是针对每个表行运行的,所以它必须以同一行为目标。我可以使用$(this)
等来实现这一点。但是我在函数内的函数内调用.closest()
时遇到了困难。
如果我了解我出错的地方,那么$(this)
会试图从$(this)
获取自己的事实?如果是这样我怎么能拥有它所以我可以使用我一直在使用的相同的$(这个)?
有问题的代码:
setTimeout
完整代码:
setTimeout(function() {
$(this).closest("td").next().find('.tabledit-save-button').click();
}, 2000)
提前谢谢。
答案 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>