启动后的javascript延迟
因此,参考这一点: 我想出了以下代码。但它什么也没做。。。有什么建议吗 我试图让setTimeout在用户进一步键入内容时取消,这样就不会出现多个警报,只有当用户最终“停止”(希望如此)时才会出现一个警报 谢谢启动后的javascript延迟,javascript,jquery,events,Javascript,Jquery,Events,因此,参考这一点: 我想出了以下代码。但它什么也没做。。。有什么建议吗 我试图让setTimeout在用户进一步键入内容时取消,这样就不会出现多个警报,只有当用户最终“停止”(希望如此)时才会出现一个警报 谢谢 var t = 0; $('input').keyup(function(){ clearTimeout(t); t = setTimeout(alert($('input').val()),1000); } 替换 t = setTimeout(alert($('
var t = 0;
$('input').keyup(function(){
clearTimeout(t);
t = setTimeout(alert($('input').val()),1000);
}
替换
t = setTimeout(alert($('input').val()),1000);
与
您正在将输入值传递给setTimeout,但需要一个函数(或一个字符串,它可以作为代码计算)作为第一个参数
并将最后一行替换为})代码>以便代码编译
无法获取元素列表的.val()$('input')选择屏幕上的所有输入,并且只给出列表中第一个输入的值
此代码应适用于所有输入,但仅对触发事件的输入运行超时
var t = 0;
$('input').keyup(function(){
var that = this;
clearTimeout(t);
t = setTimeout(function() {
alert($(that).val());
}, 1000);
}
我希望这有帮助 为了防止在几个不同的输入上出现混淆,请使用此
参考,在数据()中保持超时。
:
var out=$('#out');
$('input').keyup(函数(){
var$this=$(this);
clearTimeout($this.data('timeout'));
$this.data('timeout',setTimeout(函数(){
out.append($('').text($this.attr('id')+':'+$this.val());
}, 1000));
});
真奇怪!你能告诉我为什么我的坏了吗@phileaton它不编译,因为最后一行应该是})@显然是塞洛西迪斯。但我想现实世界中的案例会有一个更有趣的选择器,可能是基于ID的。没有兴趣回显页面的所有输入!好害羞!非常感谢你!当然可以,但它似乎是这个问题的一部分。好吧,jQuery it将获得第一个的val,但这通常不是我们想要的。
var t = 0;
$('input').keyup(function(){
var that = this;
clearTimeout(t);
t = setTimeout(function() {
alert($(that).val());
}, 1000);
}
var out = $('#out');
$('input').keyup(function() {
var $this = $(this);
clearTimeout($this.data('timeout'));
$this.data('timeout', setTimeout(function() {
out.append($('<div>').text(($this.attr('id') + ': ' + $this.val())));
}, 1000));
});