2017-04-24 205 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