题
我看到在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 回调(不在 用。。。来代替)
不隶属于 StackOverflow