小编rud*_*ker的帖子

在输入时验证html文本输入

在键入HTML文本输入时,验证HTML文本输入的最佳方法是什么?我所知道的所有方法都有一些缺点:

  1. 使用$.keypress您只能访问输入的旧值,而不是新值.此外,将无法检测到某些事件(如使用鼠标进行剪切/粘贴).

  2. $.change仅在输入失去焦点时才使用.

  3. 这个问题提出了一个解决方案,您可以使用轮询来监视属性更改.原则上,可以在回调中验证新值,如果无效则可以恢复为旧值.然而,除了要求投票之外,我不确定它是否没有竞争条件.

  4. 本文建议使用浏览器特定功能,如果没有可用则回退到轮询.看起来是迄今为止最好的方法.

  5. [更新]如答案中所指出的,$.keyup更新后可以访问该值.但是,它不仅不适用于鼠标剪切/粘贴,而且如果按住某个键也会失败,只有在输入很多内容后才会释放.或者,如果组合keydownkeyup保存/恢复旧值,则在用户键入太快时会中断.

以上解决方案都没有错误或非常安全的跨浏览器.那里有更好的解决方案,既可以随时使用,也可以在制造中使用?似乎是一个常见的问题,我最近试图回答类似的 问题,没有成功,我也对答案感兴趣.

(对于这种做法的一个好的论据也是受欢迎的,如果实施此验证会出现新的问题;但是,这在其他语言中似乎是常见的,所以我怀疑这是一件坏事要想)

javascript validation jquery

29
推荐指数
3
解决办法
5万
查看次数

标签 统计

javascript ×1

jquery ×1

validation ×1