javascript - 在特定位置设置插入符号 jquery

标签 javascript jquery html

我有一个函数可以让我在文本区域内设置插入符。

在这里

function setCaretPosition(ctrl, pos) {
    if(ctrl.setSelectionRange)
    {
        ctrl.focus();
        ctrl.setSelectionRange(pos,pos);
    }
    else if (ctrl.createTextRange) {
        var range = ctrl.createTextRange();
        range.collapse(true);
        range.moveEnd('character', pos);
        range.moveStart('character', pos);
        range.select();
    }
}

我想做的是在页面加载后立即将插入符设置在特定位置 after focus() ,就像这样。

$("#sometextarea").focus();
setCaretPosition(document.getElementById('sometextarea'),last_update_caret);

但是它不起作用,我尝试了很多不同的方法,例如 blur() 而不是 focus() 然后尝试将它设置在某个位置(出于某种原因它在 5-6 次尝试后起作用,但就是这样不需要,因为我希望它在页面自动加载时执行此操作)。

如果文本很长,我也希望它向下滚动!

Example

回答

var caret = 88;
  
$(function() {
  setCaretPosition(document.getElementById('sometextarea'), caret);
  $textarea = $("#sometextarea");
  var cursorPosition = $textarea.prop("selectionStart");
  $textarea.scrollTop(cursorPosition);
});



function setCaretPosition(ctrl, pos) {

  if (ctrl.setSelectionRange) {
    ctrl.focus();
    ctrl.setSelectionRange(pos, pos);
  } else if (ctrl.createTextRange) {
    var range = ctrl.createTextRange();
    range.collapse(true);
    range.moveEnd('character', pos);
    range.moveStart('character', pos);
    range.select();
  }
}

最佳答案

只要我了解预期目的,我认为这对我有用。我所做的只是添加 document ready 的简写,以确保在尝试该功能之前已加载所有内容:

$(function(){

var  last_update_caret = 3;

$("#sometextarea").focus();

setCaretPosition(document.getElementById('sometextarea'),last_update_caret)
;


function setCaretPosition(ctrl, pos) {

    if(ctrl.setSelectionRange)
    {
        ctrl.focus();
        ctrl.setSelectionRange(pos,pos);
    }
    else if (ctrl.createTextRange) {
        var range = ctrl.createTextRange();
        range.collapse(true);
        range.moveEnd('character', pos);
        range.moveStart('character', pos);
        range.select();
    }
}
  });

关于javascript - 在特定位置设置插入符号 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35492769/

相关文章:

javascript - 在 HTML 中转义小于和大于

javascript onClick 在 php 中不工作

jQuery 导航栏点击失败。

php - 掩蔽 BG 图像

javascript - 根据其他输入字段有条件地显示/隐藏未嵌套的标签/输入表单字段

javascript - 使用 nsINavHistoryObserver 为 Firefox 扩展创建事件

javascript - 如何在动态加载的html页面中访问javascript变量?

javascript - CSS - 谁能帮我弄清楚我的下拉菜单导航哪里出了问题?

java - 在 Selenium getattribute() 中同时使用文本和位置

javascript - 如何限制要在 ng-repeat 中显示的对象数量,