我看到在Markitup中进行标签/凹痕的方式没有建立?所以我做了类似的事情

onTab: { 
  keepDefault: false, 
  replaceWith: function(markItUp) { 
    return miu.openEachLineWith(markItUp, '  '); 
  }
},
openEachLineWith: function(markItUp, openingStr) {
  var textarea = markItUp.textarea,
      selStart = textarea.selectionStart,
      selEnd = textarea.selectionEnd,
      selText = textarea.value.substring(selStart, selEnd),
      lines = [], 
      charsAdded = 0;

  lines = selText.split(/\r?\n/);
  for (var i = 0, len = lines.length; i < len; i++) {
    lines[i] = openingStr + lines[i];
    charsAdded += openingStr.length;
  }
  textarea.selectionEnd = selEnd + charsAdded;
  return lines.join('\n');
}

哪个有效,但是,我如何在更换文本后设置选择,我希望它选择选项卡式文本,我也更喜欢在此处的编辑器的方式,因此当我粗体一些文本时,它可以选择粗体的文本而不是将光标移至最后,我也可以使用Markitup做到这一点吗?

有帮助吗?

解决方案

我一直在研究脚本。这是一个例子: http://jsfiddle.net/timdown/dp2wl/2/

它的成分时间 标签 被压榨和时机 转移 + 标签 被按下,不需要任何库。它没有我想要的那么多测试,但似乎在所有主要浏览器中都可以正常工作,包括IE6。主要代码来自 我正在从事的开源项目. 。启用选项卡凹痕的位在底部:

window.onload = function() {
    rangyInputs.init();
    rangyInputs.enableTabIndentation(document.getElementById("test"), "    ");
};

其他提示

您必须在 Afterinsert 回调(不在 用。。。来代替)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top