我有很好的功能可以满足我的需要,但在 IE 中它不考虑换行符,也许还有其他一些东西。
接下来是函数:
this.createSelection = function (field, start, end) {
if (field.createTextRange) {
var selRange = field.createTextRange();
selRange.collapse(true);
selRange.moveStart('character', start);
selRange.moveEnd('character', end - start);
selRange.select();
} else if (field.setSelectionRange) {
field.setSelectionRange(start, end);
} else if (field.selectionStart) {
field.selectionStart = start;
field.selectionEnd = end;
}
field.focus();
}
需要修改两点:
使用换行符和其他内容突出显示文本的正确部分。
不仅在 textarea 内突出显示,甚至在 div、p、span 等中突出显示。
谢谢你的帮助。