重新启动Flip.js

时间:2017-04-24 18:37:56

标签: javascript jquery html jquery-plugins

我正在使用jquery插件jquery flip https://nnattawat.github.io/flip/在我的网页中创建一个卡片翻转系统。该文档指定了一种从元素中取消注册flip事件的方法,我已经成功地工作了。但是,我想在单击按钮时重新注册翻转功能。当我检查元素时,应用了.flip类,但是on-hover事件不再能够翻转卡片了。

1 个答案:

答案 0 :(得分:1)

问题是代码$("#card").off(".flip");仅取消注册事件,但不清除元素库的设置。

要注册再次重新初始化元素所需的事件,这就是问题所在,没有关于如何执行此操作的文档信息(正如您所说)。

但是如果您阅读了libary的代码,您将看到可以通过清除flip-model数据并欺骗库重新初始化该元素来实现这一点。

// Unregister flip
$("#card").off(".flip");

// Register flip again
$("#card").data("flip-model", false);
$("#card").flip({ ... }); // Insert your options

如果您希望元素将旧选项保留在寄存器中,则可以在清除它们之前保存它们

// 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 :使用$("#card").removeData("flip-model");删除数据会产生视觉错误,而$("#card").data("flip-model", false);可以正常工作。