我使用TinyMCE编辑器,并希望将字数值分配给敲除变量。
设置编辑器是可以的,它会显示字数统计值,但是我无法理解如何获取实际值。
这是敲除值的视图:
<div data-bind="with: SelectedText">
No. of words is: <span data-bind="value: TextWordCount"></span>
</div>
但是,如何将其连接到TinyMce字数统计?
这是一个小提琴:http://jsfiddle.net/ZvKTn/1/
最佳答案
我对您的提琴进行了一些更改以使其正常工作:
http://jsfiddle.net/ZvKTn/3/
首先,
<span data-bind="value: TextWordCount"></span>
必须使用“文本”绑定:
<span data-bind="text: TextWordCount"></span>
除此之外,您还需要与TinyMCE onKeyUp事件挂钩,以便在编辑器中键入文本时获得实时更新。
同样,您用于克隆数据的代码也是有问题的。
我将TextWordCount从可观察的更改为计算的:
self.TextWordCount = ko.computed(function() {
// First remove all html tags
var text = self.TextbatchText().replace(/<[^>]*>/g, '');
// Tiny MCE inserts an extra at the end if you "double space" the end of your sentence. This replaces it with a normal space
text = text.replace(/ /g, ' ');
// This merges all spaces and tabs following each other into a single space
text = text.replace(/[\s\t]+/g, ' ');
// This removes spaces and the begin and end of the text
text = text.replace(/^\s*/, '').replace(/\s*$/, '');
// This splits the string into an array of words separated by a space.
return text.split(' ').length;
});