implement task editing for Questtype ?Textinput? (issue #36)
This commit is contained in:
parent
d955fd0c72
commit
3b1bed540f
7 changed files with 449 additions and 19 deletions
52
www/js/misc.js
Normal file
52
www/js/misc.js
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/**
|
||||
* http://stackoverflow.com/questions/1064089/inserting-a-text-where-cursor-is-using-javascript-jquery/1064139#1064139
|
||||
*/
|
||||
function getCaret(textareaId)
|
||||
{
|
||||
var textarea = document.getElementById(textareaId);
|
||||
var strPos = 0;
|
||||
if(textarea.selectionStart || textarea.selectionStart == '0') {
|
||||
strPos = textarea.selectionStart
|
||||
}
|
||||
else if(document.selection)
|
||||
{
|
||||
textarea.focus();
|
||||
var range = document.selection.createRange();
|
||||
range.moveStart('character', -textarea.value.length);
|
||||
strPos = range.text.length;
|
||||
}
|
||||
else {
|
||||
strPos = -1;
|
||||
}
|
||||
|
||||
return strPos;
|
||||
}
|
||||
|
||||
|
||||
function insertAtCaret(textareaId, caret, text)
|
||||
{
|
||||
var textarea = document.getElementById(textareaId);
|
||||
var scrollPos = textarea.scrollTop;
|
||||
|
||||
var front = (textarea.value).substring(0, caret);
|
||||
var back = (textarea.value).substring(caret, textarea.value.length);
|
||||
textarea.value = front + text + back;
|
||||
caret = caret + text.length;
|
||||
|
||||
if(textarea.selectionStart || textarea.selectionStart == '0')
|
||||
{
|
||||
textarea.selectionStart = caret;
|
||||
textarea.selectionEnd = caret;
|
||||
textarea.focus();
|
||||
}
|
||||
else if(document.selection)
|
||||
{
|
||||
textarea.focus();
|
||||
var range = document.selection.createRange();
|
||||
range.moveStart('character', -textarea.value.length);
|
||||
range.moveStart('character', caret);
|
||||
range.moveEnd('character', 0);
|
||||
range.select();
|
||||
}
|
||||
textarea.scrollTop = scrollPos;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue