我正在使用CKEditor的小部件功能來創建我自己的小部件,並在其中包含jQuery組件。但是,當小部件被拖放時,它會被破壞,並且jquery組件中的所有狀態都會丟失。 可以避免這種行爲?它是可配置的嗎?爲什麼這是必需的(也許CKEditor團隊可以回答這個問題)?CKEditor在拖放上銷燬小部件
5
A
回答
8
在拖放過程中,部件被摧毀(並重新初始化),這種行爲是無法避免的。
你如何鏈接你的jQuery組件與widget對象?你的小部件定義是什麼樣的? (這是您通過editor.widgets.add()
調用傳遞的對象)。你使用Widget.setData()
/你如何將這個jQuery組件設置爲窗口小部件數據?
如果您很難回答這些問題,那麼您可以在此處複製粘貼小部件實例的源代碼(打開瀏覽器的開發人員工具並查找具有data-cke-widget-id
屬性的元素 - 不要與源模式視圖混淆在CKEditor中)。將其粘貼到整個內容中。
小工具將其數據存儲在data-cke-widget-data
HTML屬性中。一個盲目的猜測是,你要麼不在widget上正確設置數據,要麼在字符串化後再解析,它不能正確處理jQuery對象。也許你可以使用widget.definition.init
初始化你的jQuery組件並將數據保存爲一個普通對象(Widget.setData
)?
你可能也想看看CKEditor widget documentation瞭解更多信息。
相關問題
- 1. CKEDITOR checkDirty在銷燬之前
- 2. dojox flvideo小部件在AJAX中銷燬
- 3. 銷燬GtkBuilder是否銷燬所有創建的小部件?
- 4. 拖放小部件
- 5. 無法銷燬tkinter中的小部件。
- 6. 創建和銷燬shieldUI小部件
- 7. 在哪裏把默認銷燬在jQuery UI 1.8.1小部件的銷燬功能
- 8. GWT拖放小部件
- 9. WordPress的拖放小部件
- 10. jquery:拖放小部件
- 11. 拖放小部件tkinter
- 12. Ckeditor拖放txt文件
- 13. 銷燬JQuery可拖動
- 14. 在ExtJS 4中拖放小部件4
- 15. 將外部對象拖放到CKEditor中
- 16. 如何正確銷燬CKEditor實例?
- 17. 在jQuery UI擴展小部件後銷燬不起作用1.8
- 18. 在tkinter中銷燬來自不同子例程的小部件
- 19. 在源應用程序部件外部拖放小部件
- 20. CKEditor拖放圖像上傳問題
- 21. 銷燬控件
- 22. 如何拖放自定義小部件?
- 23. 從GalleryView小部件中拖放圖像
- 24. Android拖放一個小部件
- 25. OnCreateDialog()上銷燬DialogFragment()
- 26. CKEditor - 禁用圖像拖放
- 27. CKEDITOR選擇拖放對鉻
- 28. 拖放ftp文件上傳web小部件
- 29. Dojo - 銷燬DOM節點時的工具提示小部件
- 30. 如何正確銷燬gtk.Dialog對象/小部件
因此,一般來說,我必須使用setData存儲當前狀態,以便在重新創建後可以在小部件拖放時正確恢復它,對嗎? –
是的,'Widget.setData'應該將所有內容都保存在widget的data-cke-widget-data屬性中,即使在銷燬widget之後它也應該可用。 – Comandeer
如果小部件是更復雜的東西(即用戶可以擴展的節點的jquery樹,那麼當我的小部件是DnD時,我必須重新創建整個樹),我該怎麼辦? –