2 votes

Inclure un champ de saisie dans une infobulle Tippy

J'utilise simplement la capacité Tippy pour avoir un champ de saisie inclus dans l'infobulle. Tout fonctionne bien, sauf qu'il est impossible d'écrire quoi que ce soit dans le champ de saisie. Est-il possible de le faire ? Comment ?

Voici mon code :

<!DOCTYPE html>
<html>
<head>
<script src="https://unpkg.com/tippy.js@3/dist/tippy.all.min.js"></script>
<script>
    tippy.setDefaults({
        allowHTML: 1,
        trigger: 'click',
        hideOnClick : 'toggle'
    })
function initAllValues() {
    tippy('.enery', {
      content: document.querySelector('#myTemplate')
    })
}
</script>
</head>
<body onload="initAllValues()">
<span class="enery">Text</span>
<div id="myTemplate">
  My HTML <strong style="color: pink;">tooltip</strong> content with an input field <input type="number" id="catch_value">
</div>
</body>
</html>

1voto

Xavier Points 41

La solution est plus facile que prévu : Il faut définir l'option suivante dans tippy :

interactive: true option

Note : le support direct de Tippy et les discussions sont disponibles sur leur github, y compris les réponses à la présente question : https://github.com/atomiks/tippyjs/issues/342#event-1935111700

1voto

faremal Points 30

Fais-le :

interactive: true

comme dans :

function initAllValues() {
     tippy('.enery', {
         content: document.querySelector('#myTemplate'),
         interactive: true
     })
}

ou dans :

tippy.setDefaults({
    allowHTML: 1,
    trigger: 'click',
    hideOnClick : 'toggle',
    interactive: true
})

Jetez également un coup d'œil à la documentation de Tippy : https://atomiks.github.io/tippyjs/v6/all-props/#interactive et FAQ pour les problèmes d'utilisation de la propriété interactive : https://atomiks.github.io/tippyjs/v6/faq/#my-tooltip-appears-cut-off-or-is-not-showing-at-all

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X