相关疑难解决方法(0)

获取文本输入字段中的光标位置(以字符为单位)

如何从输入字段中获取插入位置?

我通过谷歌发现了一些零碎的东西,但没有任何防弹措施.

基本上像jQuery插件这样的东西是理想的,所以我可以简单地做

$("#myinput").caretPosition()
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

199
推荐指数
7
解决办法
24万
查看次数

jQuery:在没有浏览器特定代码的情况下获取文本的光标位置?

有没有什么方法可以在jQuery中获取文本输入中的当前光标位置,而无需使用丑陋的浏览器特定代码?

像:

<input id="myTextInput" type="text" value="some text" >
Run Code Online (Sandbox Code Playgroud)

光标在"某些文本"的"x"之后,我可以得到"8"?

jquery input cursor-position

29
推荐指数
4
解决办法
12万
查看次数

获取插入符号在文本区域中的偏移位置(以像素为单位)

在我的项目中,我试图以textarea像素为单位获得插入符号的偏移位置.可以这样做吗?

在问这里之前,我已经经历了许多链接,尤其是Tim Down,但我找不到适用于IE8 +,Chrome和Firefox的解决方案.这似乎添下正在此.

我发现的其他 一些链接有很多问题,比如找不到插入位置的顶部偏移量.

我正在尝试获得插入符号的偏移位置,因为我想在其中显示基于插入符的偏移位置的自动完成建议框textarea.

PS:我不能使用a,contenteditable div因为我写了很多与a相关的代码textarea.

javascript jquery textarea cross-browser

28
推荐指数
3
解决办法
2万
查看次数

输入类型文本(不是textarea)中的插入位置(以像素为单位)

更新:获取输入元素获取光标或文本位置(以像素为单位).

TL; DR - 使用非常轻巧和强大的textarea-caret-position 组件库,现在也支持<input ype="text">它.演示http://jsfiddle.net/dandv/aFPA7/


有没有办法知道插入符号在HTML文本字段中的位置?

<input type='text' /> 
Run Code Online (Sandbox Code Playgroud)

我想根据插入符的位置以像素(并重新定位)div的位置.

注意:我不想知道字符或字符中的位置<textarea>.我想知道<input>元素中的像素位置.

html javascript caret textinput

26
推荐指数
1
解决办法
6673
查看次数

在草稿JS中实现自动完成但没有像"@"这样的"触发器"

我想实现像标签编辑器这样的东西.但是,它仅仅意味着那些标签,所以我希望用户看到自动完成建议弹出窗口而不必输入类似@#的内容,只需要文本本身.

我有一些有用的东西,但弹出窗口显示在屏幕上的奇怪位置:

  • 当我第一次输入内容并弹出窗口时,它出现在屏幕左上角附近
  • 在创建第一个实体后,当按下SPACE并再次开始输入时,弹出窗口会从它的直观位置(即在单词的第一个字母下方)右侧出现几个像素

这是一个众所周知的编辑器的例子(虽然没有用草稿实现),所以你可以更好地理解我想要实现的内容.

Gmail电子邮件编辑器

首先,这是触发建议弹出窗口的函数:

private onChange(editorState: EditorState) {
  const content = editorState.getCurrentContent();
  const selection = editorState.getSelection();
  const currentBlock = content.getBlockForKey(selection.getAnchorKey());

  if (selection.isCollapsed()) {
    const blockText = currentBlock.getText();
    const wordMeta = getWordAt(blockText, selection.getAnchorOffset());
    const categoryRegex = /([\w]*)/;
    const matches = wordMeta.word.match(categoryRegex);
    const existingEntity = currentBlock.getEntityAt(wordMeta.begin);

    if (!existingEntity && matches) {
      const categorySearch = matches[1];
      const selection = window.getSelection();
      if (this.state.autoComplete.search !== categorySearch && selection.rangeCount > 0) {
        const range = selection.getRangeAt(0); …
Run Code Online (Sandbox Code Playgroud)

javascript autocomplete typescript reactjs draftjs

17
推荐指数
1
解决办法
1282
查看次数

滚动到 html 输入的插入符号位置

function sel() {
  document.getElementById('testid').focus();
  document.getElementById('testid').setSelectionRange(10, 10);
}
Run Code Online (Sandbox Code Playgroud)
<input style="width:50px" id="testid" value="abcdefghijklmnopqrst">
<button onclick="sel()">select 10,10</button>
Run Code Online (Sandbox Code Playgroud)

input.setSelectionRange(10,10) 第一次不将值滚动到插入符号位置。滚动到插入符号是否可行?

html javascript select input

4
推荐指数
1
解决办法
839
查看次数