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