【发布时间】:2017-08-11 13:33:37
【问题描述】:
我只需要在点击按钮 5 秒后运行一个函数。
控制台向我显示此消息:
VM9200:1 Uncaught ReferenceError: getId is not defined at :1:1
function getId() {
$.getJSON("https://maxtechglobal.com/vencimientos/perfil/perfil.php?cuit="+$("#cuit").val(), function(result){
for (var i = 0; i < result.data.length; i++) {
$.each(result.data[i].perfil, function( index, value ) {
var id = result.data[i].perfil.id;
$("#idPerfil").val(id);
});
}
});
}
<button id="btnBuscar" onclick="setTimeout('getId()', 5000);" type="button" class="btn btn-primary text-center" name="button">Buscar</button>
我证明了这一点:setTimeout(getId, 5000); 和这个 setTimeout("getId();", 5000); 和这个:setTimeout('getId', 5000);
但是什么都行
【问题讨论】:
-
getId()需要在使用on*事件属性时在窗口范围内声明。我打赌你已经把它放在了 document.ready 处理程序下。另请注意,您可以通过将函数引用传递给超时来改进代码:setTimeout(getId, 50000); -
该代码应该可以工作,但没有引用 jQuery。我的猜测是这不是您的实际代码,并且您的实际代码有一个文档准备好的包装器
标签: javascript jquery function settimeout