【问题标题】:stop parsley js firing keyup when tabbing制表符时停止欧芹js触发keyup
【发布时间】:2013-07-15 15:17:50
【问题描述】:

我有一些设置了 keyup 和 blur 事件的字段。一切都适用于 parsley js 进行验证,直到用户进入一个有 keyup 的字段时。然后,当他们的用户被标签进入该字段时,它会立即触发错误。因此,在用户甚至可以输入任何内容之前,他们都会遇到错误。有没有办法在不删除 keyup 事件的情况下阻止这种情况的发生。

 <input type="text" value="" placeholder="XXXX-XXXX-XXXX-XXXX" class="card" id="card" name="number" pattern="[0-9]*" data-trigger="blur keyup" data-required="true" data-validation-minlength="0" >
  • 现在您单击输入字段,然后再次单击错误 由 blur 事件触发。
  • 如果用户输入不正确,请点击进入开始输入字段 value keyup 将触发。

以上都很好用。

  • 在卡片字段之前单击输入字段,然后按 Tab 键进入卡片输入字段 这是下一个索引,然后立即触发 keyup。

上述情况是我想停止发生的情况,直到用户在输入字段中键入。

【问题讨论】:

    标签: jquery parsley.js


    【解决方案1】:

    好的,对于遇到此问题的任何人来说,这是解决问题的一种方法。 在卡片输入上设置一个焦点事件。确保你没有在你的 parsley event-trigger 属性中使用它。然后在 focusin 事件上删除香菜检查此事件。然后设置一个超时时间,这样你就可以在 parsley 完成初始要求的验证后将其替换回来。

    我知道有点 hacky,我不喜欢使用计时器,但在这种情况下它可以工作。我尝试了 100,它适用于除 IE 之外的所有浏览器,所以我不得不增加到 200 来补偿 IE。

    $('.card').focusin(function(){
    
        $('form').parsley( 'removeItem', '#card' );
        setTimeout(function(){
            getCurrentForm().parsley( 'addItem', '#card' );
        },200);
    });
    

    希望这对某人有所帮助,因为我曾经问过有关 Parsley 的任何问题,但我从未得到答复。好像欧芹不是常见的问题。对于没有使用过 Parsley js 的任何人来说,它是一个令人惊叹的验证库,你应该检查一下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-22
      • 2013-11-12
      • 2020-08-10
      • 1970-01-01
      • 2014-09-09
      • 2014-05-11
      • 2022-11-16
      相关资源
      最近更新 更多