我的表单中有一个数字输入元素,它根据其值生成或删除其他字段。
如果我在用户更改号码后立即调用函数来生成它们 (.on('input', function() {...})
),我有以下用例问题:假设用户输入“10”,则生成 10 个字段;用户填满它们,然后发现他还需要一个。如果他只是单击向上箭头到达 11,则会创建一个新字段,一切正常,但如果他从“10”中删除“0”,在他能够写入“11”之前,其他 9 个字段就会消失,并且所有插入的数据都会丢失。
如果我在用户完成后调用该函数(使用 .focusout(function() {...})
),则速度太慢,因为其他字段不会出现,直到用户离开该字段。
这种情况下的最佳做法是什么?
最佳答案
您确实应该考虑使用 focusout
事件。根据用户最后按下的键创建打字计时器可能听起来更慢,并且会让用户感到困惑。
不过,SO ( https://ux.stackexchange.com/ ) 中有一个 UX 部分,您可以在其中找到优秀的 UX 设计师的建议!
关于javascript - 何时根据用户输入更新表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35136390/