我想在函數執行前在.click(function(){...})處理程序中編寫延遲。這不起作用:JQuery .click()處理程序無法接受函數週圍的setTimeout()
$('.okButton').click(setTimeout(function() { ...}, 3000))
它給這個錯誤(在Chrome):
Uncaught TypeError: Object 2 has no method 'apply'
jQuery的文檔不給任何線索,爲什麼這是行不通的。
如何在執行函數處理程序之前放置延遲?
這個和其他類似的例子不起作用,因爲JS立即執行整個處理程序,然後在指定的時間之後在setTimeout()中執行函數參數。 setTimeout()不會延遲處理處理程序的其餘部分,直到超時。 –
@DeanSchulze我不明白你的意思。你試圖推遲一個「點擊」處理程序的建立,還是你想讓「點擊」處理程序設置一個計時器,以便在「點擊」之後3秒發生什麼?如果是後者,那麼這絕對是你如何做到的。我會做一個jsfiddle來演示。 – Pointy
@DeanSchulze [這是一個jsfiddle。](http://jsfiddle.net/yQjM9/) – Pointy