2013-03-18 81 views
0

對於第3秒的變量x的值爲0和後3秒每當我們在3之間0並單擊按鈕的x值被設置爲1收聽變量值來改變和處理點擊事件

秒,函數handleClick不應該被調用。 每當我們在3秒後點擊按鈕,應該調用函數handleClick。

下面是我使用的HTML和JS代碼。但是,即使在3秒後,函數handleClick也不會被調用。

HTML:

<button class="quizy-mg-item">click here</button> 

JS:

var x=0; 
setTimeout(3000,function(){ 
x=1 
}) 
function handleClick(){ 
document.write("Success"); 
} 
if(x) { 
$('.quizy-mg-item').click(handleClick); 
} 

回答

2

試試這個代碼,爭論的

setTimeout(function() { 
    $('.quizy-mg-item').click(handleClick); 
},3000); 

function handleClick(){ 
    document.write("Success"); 
} 

你的setTimeout函數的順序是錯誤的。

同樣在這裏,

if(x) { 
    $('.quizy-mg-item').click(handleClick); 
} 

在條件檢驗的內部if的時間,實際上x是0,因此沒有click附加處理程序。它與以後的價值x無關。

p.s.不要使用document.write,使用console.log進行調試。

+0

沒有'setTimeout'只觸發一次。它的'setInterval'在每個指定的時間段之後被調用。 – Jashwant 2013-03-18 02:46:36

+0

謝謝。我明白 – user1798002 2013-03-18 02:47:33

+0

標記它的答案,如果它可以幫助你。 – Jashwant 2013-03-18 02:49:58