3
我想在用戶點擊一個按鈕時更改全局變量x
。但是,它沒有被改變。我在Google上研究過這個問題,看起來我做的一切都是正確的。點擊功能沒有更新全局變量
testing.html:
<!DOCTYPE html>
<html>
<head>
<title>Testing</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript" src="testing.js"></script>
<style>
div {
border: solid 1px orange;
height: 50px;
width: 50px;
font-size: 45px;
text-align: center;
}
</style>
</head>
<body>
<button>Click here</button>
<div><div/>
</body>
</html>
tesing.js:
var x;
$(document).ready(function() {
x = 0;
$("div").text(x);
$("button").on("click", function() {
x = 1;
});
$("div").text(x); //the div stays at "0" even after I click the button
});
如果我把$("div").text(x);
點擊功能裏面x = 1
後,然後它的作品,但我需要它在改變x
全局範圍,而不是本地範圍,所以我可以在html文件中的其他JS函數中使用它。
編輯: 我試圖測試x
外的點擊功能的原因是因爲我需要使用更新x
在HTML文件中的文件準備功能,所以我不能做點擊功能中的所有內容。也許我想要做的事是不可能的?但我認爲這就是全球變量存在的原因?
當您單擊所以那麼'x'將遞增的單擊事件只會火,但'$( 「格」)文本(X);'表達會默認情況下,當'x'總是'0'時,在DOM上執行,所以你想做的事情沒有意義。 –
如何在單擊按鈕後更改稍後的功能(不在點擊功能中)以進行更改? –