Skip to content

在共用放置错误样式的父元素时,focusin 会相互影响。 #21

Description

@chrisyip

以这个 pull requests 为例 https://github.com/sofish/validator.js/pull/20。

如果把包裹 contenteditablediv 去掉,就会共用 form 作为错误样式放置的对象,这时候从第一个 div 跳到第二个 div 时,formclass 会被移除。

想到方案是在 focusin 时判断一遍父元素里的待校验项是否都正确:

$form.on('focusin', identifie, function(e) {
  var invalid = false;
  if (isErrorOnParent) {
    var errElem = errorElement($(this), ...);
    errElem.find(idnetifie).each(function(){
      invalid = validate.call(this, ...)
    })
  }
  if (!invalid) {
    removeErrorClass.call(this, $(this), 'error unvalid empty', isErrorOnParent);
  }
})

有没有更优雅、高效的方法?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions