我有一个用于检查服务器结果的 javascript 文件。如果经过一定次数的尝试后仍未获得结果,我想在页面上添加一个按钮,以便用户可以手动检查结果。但是,该按钮在添加时不起作用。我该如何解决它,我是否需要做一些事情才能使该功能在按钮范围内?
这是添加按钮的代码:
$('.submitter').after("<span class='btn' onClick=delayDoing(0)>Check again</span>")
它创建了以下什么都不做的按钮:
<span class="btn" onclick="delayDoing(0)">Check again</span>
下面是javascript的文件。(我缩短了它并删除了一些 ERB 的东西。)
function delayDoing(attempts){
setTimeout(function(){checkServer(attempts)}, 3000);
}
function checkServer(attempts){
if ($('.results').css('opacity') === '0') { //no results
if(attempts < 4) {
// {code to check for results...}
delayDoing(attempts+1);
}
else{
$('.submitter').after("<span class='btn' onClick='delayDoing(0)'>Check again</span>")
}
}
}
jQuery(function() {
delayDoing(0)
});