簡體   English   中英

JavaScript按鈕無響應

[英]JavaScript Buttons Not Responding

我無法讓JavaScript按鈕在被點擊時調用函數。 我嘗試了多種方法,但是我認為代碼中肯定還有其他問題。 謝謝你的幫助。 我弄亂了諸如“ onclick”屬性之類的不同按鈕功能,但似乎沒有任何效果。 該代碼將啟動一個html頁面,但是按鈕什么也不做。 這些函數永遠不會被調用,但是我不確定為什么。

<!DOCTYPE html>
<html lang = "en">
<head>
    <meta charset="utf-8">
    <title>Test Tree</title>
</head>
<body>

<h1>Test Tree</h1>

<p id="question">Ready to start the tree?</p>

<! Below are the interactice elements>
<button id="nextYes()">Yes</button>
<button id="nextNo()">No</button>


<script type="text/javascript">
//window.alert("hello");
var decision_tree = [["Ready to start the tree?"],["Node 1"],["Node 1.1", "Node     1.2"],["Node 1.1.1", "Node 1.1.2", "Node 1.2.1", "Node 1.2.2"]];


// this is the location in the tree, used to determine next location
var i = 0;
var j = 0;

document.getElementById('y').addEventListener('click', nextYes);
document.getElementById('n').addEventListener('click', nextNo);

var y = document.getElementById('y');
var n = document.getElementById('n');

function nextYes() {
    window.alert("Yes!");

    i++;
    if (i==0) {
        document.getElementById('question').innerHTML = decision_tree[i][j];
    } else if (i < decision_tree.length-1) {
        j *= 2;
        document.getElementById('question').innerHTML = decision_tree[i][j];
    }
}

function nextNo() {

    if (i != 0 and i < decision_tree.length-1) {
        i++;
        j = j*2 + 1;
        document.getElementById('question').innerHTML = decision_tree[i][j];
    }
}
</script>

</body>
</html>

那里有幾個錯誤。 我已將其簡化為相關的部分。

您需要按鈕上的ID。 您的js代碼無法在此處找到它們:

var y = document.getElementById('y');
var n = document.getElementById('n');

此外,您已經將這些元素存儲在var y和n中,因此在添加事件偵聽器時無需再次查詢它們。

 var decision_tree = [["Ready to start the tree?"],["Node 1"],["Node 1.1", "Node 1.2"],["Node 1.1.1", "Node 1.1.2", "Node 1.2.1", "Node 1.2.2"]]; // this is the location in the tree, used to determine next location var i = 0; var j = 0; var y = document.getElementById('y'); var n = document.getElementById('n'); y.addEventListener('click', nextYes); n.addEventListener('click', nextNo); function nextYes() { alert("Yes!"); } function nextNo() { alert("No"); } 
 <h1>Test Tree</h1> <p id="question">Ready to start the tree?</p> <! Below are the interactice elements> <button id="y">Yes</button> <button id="n">No</button> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM