我正在使用 Ruby 的wysihtml5-bootstrap gem,并将它与 Pusher 一起用作实时文本编辑器。当我在其中一个文本框中编辑文本时,它会在该保存对象的其他打开视图中更新。但是,当我的更新函数被调用以保存当前在框中的内容,然后更新其他打开的文本视图时,光标移动到开头,几乎使服务无法使用,除非用户在最后一个单词之后单击以带来光标回到结束位置。
使用 wysihtml5 .html() 函数更新文本视图,是否可以保存光标位置,然后在 .html() 函数运行后让光标移动到该位置?我很想拥有它,以便在 .html() 函数运行后光标不会移动或放回最后一个位置。
var channel = pusher.subscribe("update");
channel.bind("edit<%= @guide.id%>", function(data) {
// alert('Attempting to set value: ' + data.message);
var wysihtml5Editor = $('#some-textarea').data("wysihtml5").editor;
// console.log(wysihtml5Editor);
$(wysihtml5Editor.composer.element).html(data.message);
console.log("New text is: " + $('#some-textarea').val());
});
上面是监听由 Pusher 触发的特定事件的代码。