J'utilise le plugin jquery jquery flip https://nnattawat.github.io/flip/ pour créer un système de retournement de carte dans ma page Web. La documentation spécifie un moyen de désenregistrer l'événement flip de l'élément, que j'ai travaillé avec succès. Je veux réenregistrer la capacité de retournement quand un bouton est cliqué, cependant. Lorsque j'inspecte l'élément, la classe .flip est appliquée, mais l'événement de survol ne fonctionne plus pour retourner la carte.Réinitialiser Flip.js
Répondre
Le problème est que le code $("#card").off(".flip");
annule seulement les événements, mais n'efface pas les paramètres de la bibliothèque sur l'élément.
Pour enregistrer les événements, vous devez réinitialiser l'élément, et voici le problème, il n'y a pas d'informations sur la documentation sur la façon de le faire (comme vous l'avez dit). Mais si vous lisez le code de la bibliothèque, vous verrez que vous pouvez le faire en effaçant les données flip-model
et en trompant la bibliothèque pour réinitialiser l'élément.
// Unregister flip
$("#card").off(".flip");
// Register flip again
$("#card").data("flip-model", false);
$("#card").flip({ ... }); // Insert your options
Si vous voulez que l'élément de garder les anciennes options registre, vous pouvez les enregistrer avant de les effacer
// Unregister flip
$("#card").off(".flip");
// Register flip with old settings
var options = $("#card").data("flip-model").setting;
$("#card").data("flip-model", false);
$("#card").flip(options);
PS: La suppression des données à l'aide $("#card").removeData("flip-model");
produit des bugs visuels tandis que $("#card").data("flip-model", false);
fonctionne sans problèmes.
Cela a fonctionné à merveille, merci! – waffle