X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=view%2Ftheme%2Ffrio%2Fjs%2Ftextedit.js;h=76a04a32f2887b49913c6e80bed291184c692881;hb=cf9a65cded8e8f270aedbb3ba46d5fe2fe351b4c;hp=5074c3009cd1876e0c1fa606de77f52c7b452c38;hpb=d2b5f77be9c8acb9f6898e65ea4592e747f2ea5c;p=friendica.git diff --git a/view/theme/frio/js/textedit.js b/view/theme/frio/js/textedit.js index 5074c3009c..76a04a32f2 100644 --- a/view/theme/frio/js/textedit.js +++ b/view/theme/frio/js/textedit.js @@ -2,9 +2,42 @@ * @brief The file contains functions for text editing and commenting */ -function commentGetLink(id,prompttext) { - reply = prompt(prompttext); - if(reply && reply.length) { +// Lifted from https://css-tricks.com/snippets/jquery/move-cursor-to-end-of-textarea-or-input/ +jQuery.fn.putCursorAtEnd = function() { + return this.each(function() { + // Cache references + var $el = $(this), + el = this; + + // Only focus if input isn't already + if (!$el.is(":focus")) { + $el.focus(); + } + + // If this function exists... (IE 9+) + if (el.setSelectionRange) { + // Double the length because Opera is inconsistent about whether a carriage return is one character or two. + var len = $el.val().length * 2; + + // Timeout seems to be required for Blink + setTimeout(function() { + el.setSelectionRange(len, len); + }, 1); + } else { + // As a fallback, replace the contents with itself + // Doesn't work in Chrome, but Chrome supports setSelectionRange + $el.val($el.val()); + } + + // Scroll to the bottom, in case we're in a tall textarea + // (Necessary for Firefox and Chrome) + this.scrollTop = 999999; + }); +}; + +function commentGetLink(id, prompttext) { + reply = prompt(prompttext); + if(reply && reply.length) { reply = bin2hex(reply); $.get('parse_url?noAttachment=1&binurl=' + reply, function(data) { addCommentText(data, id); @@ -102,7 +135,7 @@ function cmtBbClose(id) { } function commentExpand(id) { - $("#comment-edit-text-" + id).value = ''; + $("#comment-edit-text-" + id).putCursorAtEnd(); $("#comment-edit-text-" + id).addClass("comment-edit-text-full"); $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty"); $("#comment-edit-text-" + id).focus();