繁体   English   中英

如何在Javascript中插入可以通过onclick()实现功能的按钮?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM