ContentEditable
var editor = absol._({
child: absol.text.textToNodes('This is first line\nThis is second line\n\nThis is 4th line\n\n\n')
}).attr('contenteditable', 'true').addStyle({
height: '200px',
width: '50%',
border: 'solid 1px gray'
}).addTo(document.body);
absol._('<button>Start</button>').on('click', function () {
editor.focus();
absol.text.setSelectionRange(editor, 0, 0);
}).addTo(document.body);
absol._('<button>End</button>').on('click', function () {
editor.focus();
absol.text.setSelectionRange(editor, Infinity);
}).addTo(document.body);
absol._('<button>First line</button>').on('click', function () {
editor.focus();
absol.text.setSelectionRange(editor, 0, 18);
}).addTo(document.body);
absol._('<button>Second line</button>').on('click', function () {
editor.focus();
absol.text.setSelectionRange(editor, 19, 38);
}).addTo(document.body);
This is first line
This is second line
This is 4th line