$(document).ready(function(){ function sample() { alert("This is sample function"); } $("#button").click(function(){ t = setTimeout("sample()",2000); }); });
HTML:
<input type="button" id="button" value="Call sample function with delay">
一旦我点击按钮,sample()函数不被调用与延迟2秒。我不知道是什么问题。
如何使用setTimeout()通过jQuery调用JavaScript函数?
然后将一个字符串传递给setTimeout,在2秒后对其进行求值。这发生在当前范围之外,因此它找不到该函数。
只传递函数到setTimeout,使用eval是低效的,很难调试。
setTimeout(sample,2000)