Javascript 按下鼠标选择文本框的内部

Javascript 按下鼠标选择文本框的内部,javascript,jquery,Javascript,Jquery,因此,基本上我想做的是,如果用户在div内按下鼠标,选择文本框内的最后一个光标点,这样用户仍然可以将鼠标拖动到文本上进行选择 目前我有: HTML: 这在单击时效果很好,但如果我尝试将其更改为“鼠标按下”,它会一直失去对输入的焦点。在选择输入后,鼠标单击会继续,导致其失去焦点。尝试使用超时 function innerSearchPanelClicked(e){ var target = e.target; setTimeout(function () { var inputTo

因此,基本上我想做的是,如果用户在div内按下鼠标,选择文本框内的最后一个光标点,这样用户仍然可以将鼠标拖动到文本上进行选择

目前我有:

HTML:


这在单击时效果很好,但如果我尝试将其更改为“鼠标按下”,它会一直失去对输入的焦点。

在选择输入后,鼠标单击会继续,导致其失去焦点。尝试使用超时

function innerSearchPanelClicked(e){
  var target = e.target;
  setTimeout(function () {
    var inputToFocus = $( target ).find("input").last();
    if(inputToFocus.is('input')){
      inputToFocus.focus();
      var length = inputToFocus.val().length;
      inputToFocus.setCursorPosition(length);
    }
  },10);
}

事实上,它似乎可以很好地使用鼠标点击,在我把鼠标放起来之前,它就失去了焦点。你有没有尝试过超时?我向你道歉。我认为鼠标点击意味着鼠标必须上下移动,这就像一个符咒。非常感谢。为了记录在案,我实际上只能让它在Chrome上运行。
function innerSearchPanelClicked(e){

  var inputToFocus = $( e.target ).find("input").last();
  if(inputToFocus.is('input')){
      inputToFocus.focus();
      var length = inputToFocus.val().length;
      inputToFocus.setCursorPosition(length);
  }
}
function innerSearchPanelClicked(e){
  var target = e.target;
  setTimeout(function () {
    var inputToFocus = $( target ).find("input").last();
    if(inputToFocus.is('input')){
      inputToFocus.focus();
      var length = inputToFocus.val().length;
      inputToFocus.setCursorPosition(length);
    }
  },10);
}