在文本区域前置的第一行之后设置焦点



我在 allready 包含一些内容的文本区域中预置某些内容后,我正在尝试设置焦点。请参阅我的小提琴,例如到目前为止我所做的事情。如果我在前置后添加 .focus((,它只会在文本区域的末尾添加焦点。而不是在我想要实现的第一行之后。

$(document).ready(function(){
// GET USER
 var signedInUser = document.getElementById('zz4_Menu').innerHTML;   
 var end = signedInUser.indexOf('<'); 
 var signedByUser = signedInUser.substring(6, end);
// DEFINE DATE
Date.prototype.getMinutesTwoDigits = function(){
    var retval = this.getMinutes();
    if (retval < 10){return ("0" + retval.toString());}
    else{return retval.toString();}
}
var timeStamp = new Date();
var currenttimeStamp = timeStamp.toLocaleDateString() + ', ' + timeStamp.getHours() + ":" + timeStamp.getMinutesTwoDigits();
// ADD BUTTON BEFORE TEXTBOX
$( '#textarea' ).before( '<p><a href="#" id="workLogBtn">Signer</a></p>' );
// ADD DETAILS TO TEXTBOX
  $('#workLogBtn').click(function(){
    $('#textarea').prepend(currenttimeStamp + '('  + signedByUser + ')' + ' - ' + 'nn').focus();
  });
});

这是我到目前为止的代码。

我的小提琴

要设置光标位置,您可以使用下一个函数:

$.fn.setCursorPosition = function(pos) {
  this.each(function(index, elem) {
    if (elem.setSelectionRange) {
      elem.setSelectionRange(pos, pos);
    } else if (elem.createTextRange) {
      var range = elem.createTextRange();
      range.collapse(true);
      range.moveEnd('character', pos);
      range.moveStart('character', pos);
      range.select();
    }
  });
  return this;
};

示例如何使用:

$('#textarea').setCursorPosition(5);

最新更新