相关疑难解决方法(0)

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

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

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

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

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

html javascript jquery

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

如何在HTML textarea中找到光标位置(X/Y,而不是行/列)?

我想在a中显示一个下拉列表,<textarea>以帮助用户输入某些内容.您从当前的IDE中了解这是代码完成.当您开始输入内容时,弹出窗口将出现在当前光标/插入符号位置右侧,您可以使用箭头键导航它以完成文本输入.

我知道如何在文本字符串中获取光标位置(即光标位置的字符索引),但我不知道如何在元素内获取光标的X/Y坐标(类似于offsetWidthoffsetHeight),<textarea>这样我就可以将我的列表元素放在那里.这可能在HTML/JavaScript中,它将如何工作?

html javascript textarea cursor

20
推荐指数
0
解决办法
1858
查看次数

是否有Internet Explorer批准的selectionStart和selectionEnd的替代品?

找出在真实浏览器中选择的内容非常简单:

var range = {
  start: textbox.selectionStart,
  end: textbox.selectionEnd
}
Run Code Online (Sandbox Code Playgroud)

但IE像往常一样,不明白.什么是最好的跨浏览器方式?

javascript internet-explorer

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

javascript – 在 textarea 插入符号移动时执行

我有 textarea,我想更改说明插入符号(光标)后面的字符的文本。

<textarea id="text"></textarea>
<br/>
Character after the caret: <span id="char"></span>
Run Code Online (Sandbox Code Playgroud)

我知道如何获得插入符号位置。问题是我不知道当用户移动插入符号时会调用什么事件(通过键入、按箭头键、单击、粘贴文本、剪切文本等)。

javascript events textarea caret addeventlistener

9
推荐指数
2
解决办法
1165
查看次数

Textarea ng-bind,其中value具有前缀和后缀

在我看来,我正在努力完成一些相当简单的事情.当使用类似文本输入的东西时也是如此.我正在尝试在textarea上创建模型绑定,其中当用户键入时,值显示带有前缀和后缀.前缀和后缀是引号:

“My awesome quote”
Run Code Online (Sandbox Code Playgroud)

问题是,我目前正在使用ng-model,我当然不能使用它.我正在考虑绑定到变量,保持没有前缀和后缀的值,然后观察该变量.当具有原始值的变量随后发生变化时,我会在范围上将带有pre和suffix的值写入另一个变量.然后,当用户输入时,该变量将显示在textarea中.唯一的问题是,与输入字段不同,textarea没有value属性.

这甚至可能吗?

编辑

如果我用输入文本字段在哪里实现这一点,我将创建一个名为A的变量,以保存在用户键入时更改的原始值.当A发生变化时,我会接受原始值,在其周围加上引号并将该新值存储在另一个变量中,也在范围内.这个新变量叫做B.

然后,输入字段将在A变量上使用ng-bind,并使用输入字段值属性显示B变量中的内容.如下所示:

<input type="text" ng-bind="A" value="{{B}}">
Run Code Online (Sandbox Code Playgroud)

我现在没有时间创造一个小提琴,但我会在本周晚些时候尝试这样做.上面的描述都是理论上的,因为我还没有测试过它.

html javascript angularjs

7
推荐指数
1
解决办法
615
查看次数

如何在textarea文本更改时保留光标位置?

我正在尝试实现一个textarea,它自动在React中插入紧密的parens,但每当我修改textarea的value属性时,光标会跳转到正在编辑的文本的末尾.

这是我的onChange函数:

    //on change
    function(event) {

        var newText =  event.target.value

        var cursorPosition = getCursorPosition(event.target)
        if(lastCharacterWasParen(newText, cursorPosition)){
            newText = newText.slice(0, cursorPosition) + ')' + newText.slice(cursorPosition)
        }

        this.setProps({text: newText}})

    }
Run Code Online (Sandbox Code Playgroud)

这成功插入了paren,但如何保留光标位置?

javascript jquery reactjs

5
推荐指数
1
解决办法
3455
查看次数

将项目符号添加到文本区域?

有没有办法向HTML textarea添加项目符号?

我想添加一个简单的功能,为文本区域中的每一行添加一个项目符号点(类似于列表项目符号点).

textarea points

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