這是因爲,你在頁面加載分配價值#val
,你增加它的點擊,但不重新分配更新價值#val
。我已經添加了一個setInterval
,它每秒記錄p
的值,以用於演示目的。
var main = function() {
var p = 0;
$('#plus').click(function() {
p++;
$('#txt').text(p); //inside event handler
});
$('#val').text(p); //outside eventhandler
var count = 0;
// Test function to log value of "p" every second.
var interval = setInterval(function(){
count++;
console.log(p)
// Clear interval on a threshold, so as to not spam with events.
if(count>100)
window.clearInterval(interval);
}, 1000)
};
$(document).ready(main);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<p id="txt" ></p>
<button id="plus">Plus</button>
<p id="val" ></p>
爲什麼它會是相同的,如果'p'的價值只有在'click'事件改變? – haim770
,因爲'p'只會增加點擊事件的觸發事件,但外部代碼在事件觸發之前運行。 –