控制檯在最後沒有檢測到overExpand
爲真。難道我做錯了什麼?爲什麼不檢測布爾變量?
var transLayer = $('.transparentBg');
var overExpand = false;
var overUl = false;
$(transLayer).hide();
console.log('transLayer hide'); // this is being logged
$('#header .nav .wrapper > ul > li.expand').hover(function(){
overExpand = true;
console.log(overExpand);// this works = true
}, function(){
overUl = true;
});
console.log(overExpand); // this shows false
我更新了我的問題中的一些代碼。是的你是對的,添加'console.log'確實在懸停事件中起作用。但是有沒有辦法從事件外部檢測布爾變化? – muudless 2012-08-08 01:38:24
@ muudless - 我原來的答案仍然適用。由於在事件被觸發之前該值沒有被設置,所以在添加處理程序之後但在處理程序觸發之前執行的代碼仍然會看到原始值。 – 2012-08-08 01:47:54
謝謝,我現在明白了。我想我只需要在調用懸停事件時觸發另一個函數。 – muudless 2012-08-08 01:55:47