2013-02-07 119 views
2

我剛剛開始在一些項目上使用Kendo-UI框架,並且發現這個文檔中的文檔非常差。我試圖在我的Kendo.Editor下添加一些額外的html(確切地說是按鈕),所以每次我創建一個新的按鈕時,按鈕都會在那裏。 Kendo是否可擴展,例如ExtJs,其中爲所有組件提供了這種功能(更簡單或更難完成,但仍有可能)?擴展kendo編輯器html

回答

6

雖然他們正在努力工作,並且它一直在提高,但我感覺你對於文檔和質量有所瞭解。

我在擴展編輯器方面有一些最近的經驗,它非常容易和可能。

您在聲明編輯器時有一個工具屬性。當你輸入一個集成工具的名字時,它會顯示該工具,或者你也可以傳入一個對象來定義一個新工具。以下是我創建自定義「插入視頻」工具的示例。名稱和工具提示屬性不言自明。 exec是一個屬性,你可以通過點擊按鈕來執行一個函數。我的例子中的exec打開一個自定義kendo窗口,它實現了添加視頻的邏輯。它有一個界面,您可以選擇Vimeo或Youtube,粘貼到常規鏈接中,並將嵌入的視頻粘貼到編輯器中。基本上,當您在我的窗口中單擊確定時,會觸發一個事件,處理嵌入視頻的標記並將其粘貼到編輯器中。在編輯器中粘貼標記的方法是:$(「#editor」)。data(「kendoEditor」)。paste(someString); someString當然是你想粘貼的東西。無論光標位於何處,它都會被粘貼。

當然,如果你想要更健壯的東西,你可以在你的exec函數中添加更復雜的代碼。就像在這種情況下會爲視頻窗口創建所有需要的標記,並在關閉之後或類似的東西之後將其銷燬。

 $("#editor").kendoEditor({ 
      tools: [ { 
       name: "insertVideo", 
       tooltip: "Insert video", 
       exec: function(){ 
        var window = $("#windasd").data("kendoWindow"); 
      window.center().open(); 
        } 

      },'formatBlock', 'bold', 'italic', 'underline', 'createLink', 'unlink', 'insertImage', 'insertUnorderedList', 'insertOrderedList', "justifyLeft", 
      "justifyCenter", 
      "justifyRight", 
      "justifyFull", ], 

     }); 

此外,如果你想要一個自定義圖標,你將不得不添加一些CSS。您的按鈕將根據您傳入的名稱自動獲取CSS類。它只是爲名稱添加「k-」前綴,因此我的名字是「k-insertVideo」。只需向該課堂添加背景圖片即可。

祝你好運,希望我的文章幫助,並沒有寫在一個複雜的方式!

+0

'exec'在我的自定義工具中不起作用。任何想法爲什麼它不觸發該功能? –