我有以下代碼:的Javascript範圍與引導
<a id="test">Click me</a>
<a id="field2" style="border: 1px solid green;">0</a>
var i = 0;
$('a#test').click(function() {
i += 1;
var a = i;
$('a#test').popover({
trigger: 'manual',
placement: 'right',
content: function() {
var message = "Count is" + a;
return message;
}
});
$('a#test').popover("show");
$('a#field2').html(a);
});
當點擊點擊我的只有一個值被遞增,但如果我們改變消息行:
var message = "Count is" + i;
這兩個值都會增加。
爲什麼會發生這種情況?
你可以在內容函數中放一個console.log(i,a)並看到它被多次調用 – user2846569
@ user2846569我不是在討論回調函數,而是在討論popover構造函數。很明顯,每次點擊都會調用回調函數(因爲每次點擊都會觸發popover),但不會更改'a'引用。 – Holt