我正在使用jquery插件jquery翻转https://nnattawat.github.io/flip/在我的网页中创建一个卡片翻转系统。文档指定了一种从元素中注销翻转事件的方法,我已经成功地完成了该操作。然而,我想重新注册当一个按钮被点击时的翻转功能。当我检查元素时,应用了.flip类,但是on事件不能再翻转卡片了。
发布于 2017-04-24 22:04:40
问题是,代码$("#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);工作时没有问题。
https://stackoverflow.com/questions/43595432
复制相似问题