所以基本上我想做的是如果使用鼠标按下div内部选择文本框内的最后一个光标点,这样用户仍然可以将鼠标拖到文本上以选择它。
目前我有这个:
HTML:
<div class="VS-search-inner" onclick="innerSearchPanelClicked(event)">
JS:
function innerSearchPanelClicked(e){
var inputToFocus = $( e.target ).find("input").last();
if(inputToFocus.is('input')){
inputToFocus.focus();
var length = inputToFocus.val().length;
inputToFocus.setCursorPosition(length);
}
}
这在点击时效果很好,但如果我尝试将其更改为鼠标按下它,则会不断关注输入。
答案 0 :(得分:1)
选择输入后鼠标点击正在进行,导致它失去焦点。尝试使用超时。
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);
}