我在 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);