web-dev-qa-db-fra.com

TypeError: $ (...). Parents (...). Size n'est pas une fonction

J'ai un script de base qui me permet de cliquer sur l'arrière-plan du site Web, à l'exclusion de #content.

Après la mise à niveau de jQuery vers la version 3.1.0, j'obtiens cette erreur: TypeError: $(...).parents(...).size is not a function.

<script type="text/javascript">
  $(function() {
    $("#background").click(function(e) {
      if (e.target.id == "wrapper" || $(e.target).parents("#wrapper").size()) 
      {
        // do nothing
      } 
      else
      {
        window.open('http://example.com');
      }
    });
  })
</script>`

Je ne sais pas comment le réparer. jQuery est chargé correctement. Veuillez aider.

15
Qrzysio

size() a été déconseillé il y a des années et supprimé dans la version 3 ... utilisez length à la place

if (e.target.id == "wrapper" || $(e.target).parents("#wrapper").length)

Tout ce que vous aviez à faire était de le rechercher dans le size() docs pour le découvrir

50
charlietfl