jQuery / JS setTimeout()仍然在调用clearTimeout()之后运行

时间:2017-06-23 19:09:54

标签: javascript jquery settimeout cleartimeout

我有input type="number"并使用字段中的向上/向下箭头来更改输入的值。我想在最终点击/更改输入后触发一个功能。

通过最终我的意思是输入没有改变1000毫秒(我假设用户现在已经停止点击)。

我设置了运行该函数的1000毫秒setTimeout(),但即使我正在调用输入的clearTimeout() .on('change'),该函数也会在后运行1000毫秒第一次更改,而不是最后一次。

我设置了一个简单的JSFiddle来说明我的意思。带有“Hello World!”的div在最终点击之后,它不应出现。

如果您快速点击输入上的向上箭头(至少每999毫秒一次),则div永远不会出现。

我在这里看了很多其他类似的问题,但它们几乎都是关于计时器变量的范围,我认为这不适用于此。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

onchange,当输入失去焦点时触发,尝试输入..顺便说一下。这里不需要jquery。

SET @PARAMXML = cast(('<A>'+replace(@PARAM,', ' ,'</A><A>')
                 +'</A>') AS XML)