相关疑难解决方法(0)

JavaScript:通过鼠标单击获取输入文本位置(以字符为单位)

我有一个 HTML<input type="text"><textarea>随机存在的文本,比如 [12345678] 或 [12345
67890]
我在这个文本中有一个任意定位的 mousedown 单击事件。我需要将 2D mousedown 点击页面坐标转换为基于字符的 1D 文本坐标,以便 JS 正确定位插入符号。显然浏览器有一些函数在内部进行这种转换;最好这样称呼。输入具有标准的可变宽度字体,并且可以处于任何放大级别。浏览器仅限于 FireFox。我们有 JQuery 和 JCursor。

背景:输入字段是在深度嵌套的框内动态生成的,每个框都有粗糙的重载。遗留代码与最新 FF 实现的结合以某种方式窃取了从输入元素冒泡到它点击默认浏览器 set-caret 操作的时间之间的 mousedown 传播/焦点,而这种情况并没有发生。我需要自己设置插入符号。

javascript text input cursor caret

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

使用输入类型编号获取光标位置

我想获取光标在<input>. 这是我正在使用的代码:

$("input").keyup(function() {
    $("<p>")
    .html("Cursor position at " + $("input").caretPosition())
    .appendTo("#test");
});
Run Code Online (Sandbox Code Playgroud)

caretPosition定义为(只是 的包装selectionStart):

$.fn.caretPosition = function() {
    if (!this.length) return;
    var input = this[0];
    try {
      return input.selectionStart;
    } catch(e) {
      // No need for old IE support
      return 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

超文本标记语言

<input type="number" />
<div id="test">
</div>
Run Code Online (Sandbox Code Playgroud)

不幸的是,这在 Chrome 中不起作用,但在 Firefox 中却可以。在 Chrome 中,它0一直打印。这会让我认为 chrome 不支持selectionStart,但我读到它确实支持selectionStarttype="number"如果我更改它就会开始工作,这一事实支持了这一点type="text"。如何让它在不同浏览器中一致工作type="number"?(不是 IE,不需要支持)。

我已阅读 …

html javascript jquery

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

双击 Chrome 输入字段中的文本选择

我在 HTML 中输入了带有数字文本的字段,其中有一个点,即“1.00.1”。如果我在 IE 或 firefox 中双击此字段,浏览器仅选择文本的一部分(点之间),但在 Chrome 中双击选择此字段中的整个文本。在 Chrome 中更改此行为的最佳方法是什么?如果我在输入字段中只有文本(即“test.test”),则在 Chrome 中双击并选择与 IE 和 Firefox 一样。 在此处输入图片说明

html javascript google-chrome

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

如何查找文本插入符/光标的 X 和 Y 位置

我想将弹出元素直接放置在文本区域或内容可编辑元素中的文本插入符/闪烁文本光标下方。

我找到了答案,为我提供了插入符号所在元素内的文本索引,但据我所知,这对我来说毫无用处。(像这样

我需要与鼠标事件可用的 event.pageX 和 pageY 属性类似的东西,但我希望文本编辑器插入符的位置也有同样的东西。有人知道怎么做吗?

javascript

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

如何创建一个JS书签以在光标位置插入固定文本?

我想创建一个小书签,可以将其放在浏览器的书签工具栏上,单击该小书签时,会插入固定的预定义文本(在我的用例中,耸肩:\xc2\xaf\\_(\xe3\x83\x84) _/\xc2\xaf )在当前光标位置(假设光标位于可编辑输入字段或文本区域中)。然而,我是 JavaScript 的初学者,不知道如何开始这样做。有什么帮助吗?如果我能找到正确方向的指针,我可能就能从那里找出答案。谢谢!

\n

javascript bookmarklet

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

jQuery将光标设置为焦点输入字段的开始

我有一个输入字段<input value="@website.com" type="text" name="email" id="email">,因此我想输入,因此当用户将焦点放在该字段上时,它将光标移动到之前@website.com

我有以下Javascript / jQuery代码,但它似乎不起作用:

$(document).ready(function() {
    $("#email").focusin(function(){
        $("#email").focus();
        $("#email")[0].setSelectionRange(0,0);
    });
});
Run Code Online (Sandbox Code Playgroud)

似乎.focus()一直在调用该focusin()函数。

我知道$("#email")[0].setSelectionRange(0,0);将光标移到最前面的正确方法是什么,但是当字段具有焦点时如何将其绑定到上面?

编辑:所以当我使用:

$("#email").focus(function(){
    $("#email")[0].setSelectionRange(0,0);
});
Run Code Online (Sandbox Code Playgroud)

当我跳到该字段时,它将光标设置在开始处,但在单击时则不将其设置。

Edit2:这与在此处输入链接描述不同因为它只是获得插入符位置,而我正在设置插入符位置。

javascript jquery focus

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

如何知道按键事件中按下的按键在字符串中的具体位置

我不知道是否可能,但我需要知道使用 javascript 输入字符的具体位置。例如:

我有:162345.25,如果我想输入另外6个数字,在三到四个数字之间(1623 6 45.25),我需要知道在哪个位置输入(在本例中是第五个位置)。

我的问题是我需要知道在“按键”事件中我只能捕获按下的按键。有人知道这是否可能?

javascript keypress onkeypress typescript

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

Jquery键盘功能和大写文本

我试图将文本框中的字符转换为大写.

但这似乎影响了我的光标位置.

JS小提琴下面:

$(this).val($(this).val().toUpperCase());
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/ZdRnZ/

如果我在空白文本框中输入一切都很好......但如果我尝试在文本之间键入,则光标会立即转到单词的末尾.

如何防止它发生,我的光标应该是我停止输入的位置,而不是文本的末尾.

在Firefox中运行良好,IE搞砸了.我需要它在IE上工作

jquery

0
推荐指数
1
解决办法
1864
查看次数