Ajouter onclick avec CSS pseudo-élément après
Est-il possible dans mon fichier css de faire quelque chose comme ça?:
.myclass:after{
content:"click me";
onclick:"my_function()";
}
Je veux ajouter, après toutes les instances de myclass
un texte cliquable, dans la feuille de style css.
4 réponses
Est-il possible dans mon fichier css de faire quelque chose comme [voir le code ci-dessus]?
Non
La question importante à poser est pourquoi .
HTML a le contrôle de la données dans la page web. Tout CSS ou JS est spécifié via le HTML. C'est le modèle .
CSS {[16] } a le contrôle des styles , Il n'y a pas de lien entre CSS et HTML ou JavaScript. C'est la vue .
JavaScript a le contrôle des interactions dans la page Web, et a des crochets à tous les nœuds DOM. C'est le contrôleur .
En raison de cette structure MVC: HTML appartient aux fichiers .html
, CSS appartient aux fichiers .css
et JS appartient aux fichiers .js
.
Les pseudo-éléments CSS ne créent pas de nœuds DOM. Il n'y a aucun moyen direct pour JavaScript d'accéder à un pseudo-élément défini en CSS, et il n'y a aucun moyen d'attacher un événement à ces pseudo-éléments.
Si vous avez un ensemble structure en place, et ne peut pas ajouter le contenu supplémentaire nécessaire pour produire de nouveaux liens dans le HTML, JavaScript peut ajouter dynamiquement les nouveaux éléments nécessaires qui peuvent ensuite être stylés via CSS.
JQuery rend cela très simple:
$('<span class="click-me">click me</span>').appendTo('.myclass').click(my_function);
Eh Bien,
En utilisant expresison cela pourrait être possible pour internet explorer uniquement.
Sinon:
Non. Pas du tout, ce n'est pas ce que css est fait et intendet pour.
Non,mais vous pouvez faire comme ceci
Dans le fichier html ajouter cette section
<div class="arrow">
</div>
En css, vous pouvez faire comme ceci
.myclass div.arrow{
content:"click me";
onclick:"my_function()";
}
J'espère que cela vous aidera