JSFiddle - React, Tailwind, and code Playground
by lexingtonpenguins
HTML
<textarea id="elem" rows="20" cols="40" onkeyup="test()">
- foo
- bar
- baz
</textarea>
JavaScript
function test() {
alert("Hi!");
}
function cursor(textarea) {
alert(textarea.value.substr(0, textarea.selectionStart).split("\n").length);
}
$.fn.selectRange = function(start, end) {
if(!end) end = start;
return this.each(function() {
if (this.setSelectionRange) {
this.focus();
this.setSelectionRange(start, end);
} else if (this.createTextRange) {
var range = this.createTextRange();
range.collapse(true);
range.moveEnd('character', end);
range.moveStart('character', start);
range.select();
}
});
};
(function ($, undefined) {
$.fn.getCursorPosition = function() {
var el = $(this).get(0);
var pos = 0;
if('selectionStart' in el) {
pos = el.selectionStart;
} else if('selection' in document) {
el.focus();
var Sel = document.selection.createRange();
var SelLength = document.selection.createRange().text.length;
Sel.moveStart('character', -el.value.length);
pos = Sel.text.length - SelLength;
}
return pos;
}
})(jQuery);
$('#elem').selectRange(3,5); // select a range of text