[英]How do I insert a button in Javascript that can reach a function with onclick()?
我有一个检查服务器结果的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)
});
我会做这样的事情:
var submit = $('.submitter'); //reference to the submitter button
var newButton = $("<span class='btn'>Check again</span>"); //in-memory button
submit.after( newButton ); //append the button to the DOM
newButton.click(function(){ delayDoing(0); }); //add a click event to the button and call for your function
请记住,JavaScript是在浏览器中加载时进行编译的,因为该元素在编译时不存在,所以它不会触发click事件,因此您需要做的是将元素添加到DOM并添加一个事件。
希望这会有所帮助,欢呼。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.