ユーザーがボタンをクリックしたときにグローバル変数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
});
私はx = 1
後にクリック機能内$("div").text(x);
を置く場合、それは動作しますが、私はそれがでx
を変更する必要がありますローカルスコープではなくグローバルスコープであるため、htmlファイル内の他のJS関数でも使用できます。
EDIT: 私はhtmlファイル内のドキュメントレディ機能にその更新x
を使用する必要がありますので、私が行うことができないので、私はクリック機能のx
外をテストしようとしている理由は、クリック機能内のすべて。多分、私がやろうとしていることは不可能でしょうか?しかし、それがグローバル変数が存在する理由だと私は考えましたか?
あなたがそうそして 'X'がインクリメントされますクリックすると、クリックイベントだけで起動しますが、 '$( "div要素")、テキスト(X);'の式は次のようになりますデフォルトで 'x'が' 0'のときにDOMで実行されるので、あなたがしたいことは意味をなさない。 –
ボタンをクリックした後で(クリック機能にない)後の機能を変更するにはどうすればよいですか? –