2017-04-24 131 views
0

我正在使用jquery插件jquery flip https://nnattawat.github.io/flip/在我的网页中创建一个卡片翻转系统。该文档指定了一种从元素中注销翻转事件的方法,我已成功地开展工作。不过,我想在单击按钮时重新注册翻转功能。当我检查该元素时,应用了.flip类,但悬停事件不再用于翻转该卡。重新启动Flip.js

回答

1

问题是,代码$("#card").off(".flip");只注销事件,但不清除该元素上的库设置。

要注册事件,您需要重新初始化元素,这里是问题,没有关于如何做到这一点的文档信息(如您所说)。

但是,如果您阅读库文件的代码,您将看到可以通过清除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);工作没有问题。

+0

这工作很好,谢谢! – waffle