2015-12-14 87 views
0

你初始化TinyMCE的,像這樣的文件中指出:如何從元素初始化TinyMCE的

tinymce.init({ 
    selector: '#mytextarea' 
    }); 

不過,我想在淘汰賽有約束力的擴展,我有機會獲得元素中做到這一點。

因此我希望能夠做到以下幾點:

ko.bindingHandlers.tinymce = { 
    init: function (element, valueAccessor, allBindings) { 
     $(element).tinymce(); 
     return ko.bindingHandlers.textInput.init(element, valueAccessor, allBindings); 
    } 
} 

這是現有的綁定擴展是如何工作的,我在網上找到不過對我來說我越來越tinymce is not a function,不知道是否該API已經改變,迫使你使用選擇器。

這是真的嗎?

+0

我應該注意到前者工作正常爲了我。 – 4imble

+0

你看過https://github.com/michaelpapworth/tinymce-knockout-binding嗎? –

回答

1

API沒有改變。但是,您正在使用錯誤的依賴關係。爲了使用jQuery與TinyMCE的,你需要使用以下相關在這個確切順序:

  1. http://cdn.tinymce.com/4/tinymce.jquery.min.js
  2. https://code.jquery.com/jquery-1.11.3.min.js

this working example.

var settings = { 
    height: 500, 
    plugins: [ 
     'advlist autolink lists link image charmap print preview anchor', 
     'searchreplace visualblocks code fullscreen', 
     'insertdatetime media table contextmenu paste code' 
    ], 
    toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image', 
    content_css: [ 
     '//fast.fonts.net/cssapi/e6dc9b99-64fe-4292-ad98-6974f93cd2a2.css', 
     '//www.tinymce.com/css/codepen.min.css' 
    ] 
}; 

ko.bindingHandlers.tinymce = { 
    init: function (element, valueAccessor, allBindings) { 
     $(element).tinymce(settings); 
     return ko.bindingHandlers.textInput.init(element, valueAccessor, allBindings); 
    } 
} 

ko.applyBindings(); 
看看
+0

謝謝,好像我包含'tinymce.jquery.js'文件和'tinymce.js'文件。我需要'jquery.tinymce,js'文件來代替。奇怪的是,文件排序對我來說似乎沒有什麼不同,並且codepen示例似乎與您在此提到的順序不同。但沒有問題,現在排序。非常感謝。 – 4imble

+0

設置也很重要,沒有它們沒有錯誤但沒有渲染。 – 4imble