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