1
votes

Écoute de clic de fonction de flèche intégrée

Voici mon code html:

const displayExtraUserInfo  = (userInfo) => {
    const btn = () => {
        document.querySelector('btn-birthdate').onclick = displayBirthdate(UserInfo);
    }
}

Ceci est mon code javascript

<button id ="btn-birthdate" class = "mdc-icon-button material-icons" >
    <i class="material-icons" >stop</i>
</button>

Mais je continue de recevoir le message

Vous n'avez pas créé l'écouteur onclick pour le btn-birthdate comme spécifié

... quand je cours dans Sapio

Question que j'essaie de résoudre

Créez une fonction de flèche displayExtraUserInfo . Il ne devrait prendre qu'un seul paramètre. Il devrait alors:

Ajoutez un écouteur de clics de fonction de flèche en ligne au BOUTON avec l'ID de btn-birthdate . L'auditeur doit appeler displayBirthdate et transmettre le paramètre displayExtraUserInfo reçu


0 commentaires

3 Réponses :


4
votes

Dans l'affectation onclick , vous exécutez displayBirthdate immédiatement, au lieu d'attribuer une fonction.

Alors changez

const displayExtraUserInfo = (userInfo) => {
    document.querySelector('button#btn-birthdate').onclick = () => displayBirthdate(userInfo);
}

to:

const displayExtraUserInfo = (userInfo) => {
    document.querySelector('#btn-birthdate').onclick = () => displayBirthdate(userInfo);
}

Par contre, vous n'appelez jamais la fonction btn après l'avoir définie . Ajoutez un appel btn () ou ne définissez pas du tout cette fonction et exécutez simplement son code en ligne.

Il y a aussi un problème avec le sélecteur. Vous sélectionnez un élément dont le nom de balise est btn-birthdate , mais vous devez sélectionner par l'ID. #btn-birthdate.

Et il y a encore une autre erreur: l'orthographe de userInfo doit être cohérente, sinon vous avez affaire à une autre variable.

La solution finale serait donc:

.onclick = () => displayBirthdate(UserInfo)

Enfin, la question dit que vous cherchez un bouton. Bien qu'un identifiant d'élément soit censé être unique, vous pouvez ajouter le bouton dans le sélecteur:

.onclick = displayBirthdate(UserInfo)


8 commentaires

Je l'ai fait mais je reçois toujours le message d'erreur lors de l'exécution dans Sapio


Je l'ai fait mais je reçois toujours le message d'erreur lors de l'exécution dans Sapio


Quel est le message d'erreur? Avez-vous appelé btn ? Sinon, voir l'ajout à ma réponse.


Vous n'avez pas créé l'écouteur onclick pour le bouton btn-birthdate comme spécifié


Voir plus à ma réponse.


J'ai d'abord fait ça comme ça, mais je vais essayer à nouveau


peut-être devriez-vous m'aider à lire la question, peut-être qu'il me manque quelque chose ........ ** Créer une fonction de flèche displayExtraUserInfo. Il ne devrait prendre qu'un seul paramètre. Il devrait alors: Ajouter un écouteur de clic de fonction de flèche en ligne au BOUTON avec l'ID de btn-birthdate. L'auditeur doit appeler displayBirthdate et transmettre le paramètre displayExtraUserInfo reçu **


Vous avez trouvé quelques problèmes supplémentaires dans votre code. Veuillez consulter la mise à jour.



0
votes

La méthode querySelector utilise le formatage du sélecteur CSS, donc querySelector ('btn-birthdate') ne trouvera rien. Vous avez besoin de querySelector ('# btn-birthdate') pour cibler l'ID "btn-birthdate".

Vous pouvez également utiliser document.getElementById("btn-birthdate")


1 commentaires

avez déjà fait cela ........................ peut-être que vous devriez m'aider à lire la question, peut-être que je manque quelque chose ....... . * Créez une fonction de flèche displayExtraUserInfo. Il ne devrait prendre qu'un seul paramètre. Il devrait alors: Ajouter un écouteur de clic de fonction de flèche en ligne au BOUTON avec l'ID de btn-birthdate. L'auditeur doit appeler displayBirthdate et transmettre le paramètre displayExtraUserInfo reçu *



0
votes

Cela fonctionne pour moi

​​

const displayExtraUserInfo = (userInfo) => {
        document.getElementById('btn-birthdate').addEventListener('click',()=>{
          displayBirthdate(userInfo)
        } );


0 commentaires