Javascript jwysiwyg textarea的敲除绑定处理程序
所以我注意到knockout js不能很好地与jQuery jwysiwyg插件配合使用 读完这篇博文后: 这就是答案: 我编写了以下绑定处理程序:Javascript jwysiwyg textarea的敲除绑定处理程序,javascript,html,knockout.js,jwysiwyg,Javascript,Html,Knockout.js,Jwysiwyg,所以我注意到knockout js不能很好地与jQuery jwysiwyg插件配合使用 读完这篇博文后: 这就是答案: 我编写了以下绑定处理程序: ko.bindingHandlers.wysiwyg = { init: function (element, valueAccessor, allBindingsAccessor) { var options = allBindingsAccessor().wysiwygOptions || {};
ko.bindingHandlers.wysiwyg = {
init: function (element, valueAccessor, allBindingsAccessor) {
var options = allBindingsAccessor().wysiwygOptions || {};
var value = ko.utils.unwrapObservable(valueAccessor());
var $e = $(element);
$.extend(true, {
initialContent : value
}, options);
$e.wysiwyg(options);
//handle the field changing
function detectFn() {
var observable = valueAccessor();
var newvalue = $e.wysiwyg("getContent");
observable(newvalue);
}
var current = $e.wysiwyg('document');
var timer;
current.bind({
keyup: function(){
clearTimeout(timer);
timer = setTimeout(detectFn, 1000);
}
});
//handle disposal (if KO removes by the template binding)
ko.utils.domNodeDisposal.addDisposeCallback(element, function() {
$e.wysiwyg('destroy');
});
},
update: function (element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
$(element).wysiwyg("setContent", value);
ko.bindingHandlers.value.update(element, valueAccessor);
}
};
这样使用:
<textarea data-bind="wysiwyg: yourViewModelValue"></textarea>
到目前为止,它的工作为我,任何意见将不胜感激
我认为这对任何想让kockout js和jwysiwyg一起绑定textarea元素的人来说都是有用的。绑定不错,但这不是一个真正的问题。如果你还没有,你应该把这篇文章发布在KO谷歌群上。谢谢你提供的信息,但这并不完全是我们在这里做事情的方式。如果你愿意的话,把这当作一个问题,然后把它重新打开(比如说我在国旗上建议的!)。然后,您可以添加详细说明解决方案的答案。两天后,您可以选择正确答案并结束问题。这可能会让人感到奇怪,但这是在这里共享信息的公认方式。谢谢。您好,这似乎是一种方式,但当我通过jwysiwyg更改textarea中的值时,值敲除没有,关于如何使两者同步的任何线索?很棒的绑定,帮助我使用另一个jquery编辑器markitup。可惜它关闭了,因为我本可以把我的装订也贴上去。这并不是我们在这里所做的,因为我相信这会很有帮助。