Salut les amis, je me demandais s'il était prévu de prendre en charge Element.closest()
dans jsdom ?
Il n'est pas prévu de prendre en charge l'Element.closest inexistant. Element.prototype.closest, cependant, nous pourrions essayer de prendre en charge à l'avenir. Une pull request serait le meilleur moyen de faire avancer les choses.
@domenic Est-ce que Element.prototype.closest
différent de ce que j'ai lié ci-dessus ? Impossible de trouver un article MDN correspondant autre que celui-là.
Je pense que c'est juste que MDN prête à confusion. Mais si vous consultez un navigateur (ou une spécification), Element.closest === undefined
, alors que Element.prototype.closest
est une fonction.
Ah d'accord. Je suis sûr que vous ne le pensiez pas, mais votre réponse initiale m'a fait sentir comme un noob pour ne pas connaître la différence, et j'espère que ce n'est pas représentatif de cette communauté. Je vais essayer de plonger dans le code jsdom pour voir si je comprends assez pour contribuer.
Malheureusement, je n'ai pas le temps pour le moment de creuser et de comprendre la base de code jsdom, mais l'extrait suivant est tout ce qui est requis.
window.Element.prototype.closest = function (selector) {
var el = this;
while (el) {
if (el.matches(selector)) {
return el;
}
el = el.parentElement;
}
};
Peut-être que quelqu'un qui travaille déjà sur le projet peut le glisser à l'endroit approprié.
Depuis que celui-ci a été fermé, il y a maintenant https://github.com/tmpvar/jsdom/pull/1951
Ce n'est toujours pas dans jsdom, non?
Cela a été corrigé par la fusion de https://github.com/jsdom/jsdom/pull/1951 dans la v11.12.0 🎉
Commentaire le plus utile
Malheureusement, je n'ai pas le temps pour le moment de creuser et de comprendre la base de code jsdom, mais l'extrait suivant est tout ce qui est requis.
Peut-être que quelqu'un qui travaille déjà sur le projet peut le glisser à l'endroit approprié.