当前位置: 首页 > 面试题库 >

将焦点和光标设置在文本输入字段/字符串w的末尾。jQuery

桑坚
2023-03-14
问题内容

我有以下功能,将选择器添加到搜索输入中作为高级选项,就像堆栈溢出高级搜索一样。

当您单击要搜索的内容时,它会添加一个前缀。请参阅下面的Jquery:

<script>
$(document).ready(function () {

        $("table#advanced_search_options tr").click(function () {
            var SearchSelection = $(this).children("td:last-of-type").html();
            var SearchInput = $('#Search');
            SearchInput.val(SearchInput.val() + SearchSelection);
            return false;
            alert(SearchSelection);
        });
});
</script>

如何处理以上内容,使焦点也集中在#search输入上,将胡萝卜(闪烁的文本插入光标)放在插入的文本/值的末尾?例如。

HC:<-添加到我的搜索输入中的值,我想在此处设置光标:


问题答案:

您可以使用Input.setSelectionRangeRange API的一部分来执行此操作,以与文本选择和文本光标进行交互:

var searchInput = $('#Search');

// Multiply by 2 to ensure the cursor always ends up at the end;
// Opera sometimes sees a carriage return as 2 characters.
var strLength = searchInput.val().length * 2;

searchInput.focus();
searchInput[0].setSelectionRange(strLength, strLength);


 类似资料:
  • 问题内容: 我有一个用netbeans开发的应用程序,我想在显示面板时将焦点设置为一定。我已经阅读了许多文章,并尝试了各种方法,但没有奏效。主要问题之一是在哪里放置所需的代码,我认为在我的情况下是 有一些指示使用Window Listener的帖子,但是随着netbeans生成GUI,我无法看到如何实现接口,因为我无法编辑创建jPANEL等的代码。整个过程非常令人沮丧,我真的没有相信这应该很困难。

  • 问题内容: 将焦点设置到元素之后,通过JavaScript将光标放置在输入文本元素中文本末尾的最佳方法(我想是最简单的方法)是什么? 问题答案: 我在IE中遇到了同样的问题(通过RJS /原型设置焦点之后)。当该字段已有值时,Firefox已经将光标留在末尾。IE迫使光标移至文本的开头。 我得出的解决方案如下: IE7和FF3均适用

  • 问题内容: 数据加载后是否可以通过控制器设置输入字段的焦点(在这种情况下,通过$ resource)? 通过ng-show隐藏输入,直到从API返回数据为止,但是我找不到将焦点设置在输入上的方法。我知道输入的ng- model名称,以及输入名称,这意味着我可以通过jQuery来做到这一点,但我宁愿使用AngularJS方式来做到这一点。 我在这里尝试了很多指令示例,但是它们似乎都集中在1.2 ng

  • 插入符号 ^ 和美元符号 $ 在正则表达式中具有特殊的意义。它们被称为“锚点”。 插入符号 ^ 匹配文本开头,而美元符号 $ - 则匹配文本末尾。 举个例子,让我们测试一下文本是否以 Mary 开头: let str1 = "Mary had a little lamb"; alert( /^Mary/.test(str1) ); // true 该模式 ^Mary 的意思是:字符串开始,接着是

  • 如何设置组件的焦点? 我已经尝试了上述代码,但不起作用:(

  • 问题内容: 如何从输入字段中获得插入符的位置? 我已经通过Google找到了一些零散的信息,但是没有任何防弹证据。 基本上像jQuery插件之类的东西是理想的,所以我可以简单地做 问题答案: 找到了这个解决方案。不是基于jquery的,但是将其集成到jquery中没有问题: