簡體   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