相关疑难解决方法(0)

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

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

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

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

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

html javascript jquery

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

防止在HTML中进行选择

我在HTML页面上有一个div,每当我按下鼠标并移动它时,它会显示"不能掉落"光标,就像选择一些东西一样.有没有办法禁用选择?我试过CSS用户选择没有成功.

html javascript selection

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

如何在文本框中获取插入符号的(x,y)像素坐标?

我正在使用jQuery并试图找到一种跨浏览器的方式来获取插入符号<textarea>input盒子中的插入符号,这样我就可以在这个位置放置一个绝对定位的div.

有一些jQuery插件吗?或者JavaScript代码片段就是这么做的?

javascript jquery cross-browser

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

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

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

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

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

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

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

javascript jquery textarea cross-browser

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

获取输入元素的像素的光标或文本位置

IE允许我在输入元素中创建一个文本范围,我可以在其上调用getBoundingClientRect()并获取某个字符或光标/插入符号的像素位置.有没有办法在其他浏览器中以像素为单位获取某个角色的位置?

var input = $("#myInput")[0];
var pixelPosition = null;
if (input.createTextRange)
{
    var range = input.createTextRange();
    range.moveStart("character", 6);
    pixelPosition = range.getBoundingClientRect();
}
else
{
    // Is there any way to create a range on an input's value?
}
Run Code Online (Sandbox Code Playgroud)

我正在使用jQuery,但我怀疑它能否解决我的问题.我期待一个纯JavaScript解决方案,如果有的话,但欢迎jQuery的答案.

javascript firefox jquery google-chrome

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

如何使用contentEditable从iframe中的当前插入位置获取像素偏移量

我想div在一个iframewith contentEditable中放置一个浮动元素,以防用户输入某个组合键(用于自动完成目的).

我知道如何获得插入位置: document.getElementById('elm1_ifr').contentWindow.getSelection().anchorOffset

我可以用它来计算leftdiv 的属性,但我似乎无法弄清楚如何获得top.

我想到的另一种可能性是使用: document.getElementById('elm1_ifr').contentWindow.getSelection().anchorNode.parentNode

并使用jQuery获取偏移量,但如果该父项具有长文本行,我将只能提取第一行的顶部位置.

谁能帮我这个?

html javascript iframe jquery contenteditable

12
推荐指数
2
解决办法
5480
查看次数

在textarea中以像素为单位查找插入位置

我想知道是否有可能在整个页面中找到textarea中的carret的确切位置(以像素为单位).例如,如果我输入This is text了我的文本框,我想知道从屏幕左上角到carot的像素.

它将采用X:200 Y:100的形式.这样我就可以定位浮动div.这需要在javascript中动态完成.

多谢你们

html javascript textarea position cursor

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

每个单词下面的Jquery-ui自动完成下拉列表

我正在使用jquery-ui的Autocomplete.在多个值中,您可以获得空格后每个单词的下拉列表,但下拉列表显示为输入框的大小.是否有可能使下拉列表出现在每个光标下方,其宽度等于下拉字而不是输入框的整个长度?

编辑:示例(类似Google的搜索框):

当你去谷歌并在句子继续时输入一个长句子,在每个单词之后,为光标位置下方的每个单词出现一个自动完成下拉列表.所以我需要一个类似的下拉列表,可以添加到jQuery Autocomplete上

在此输入图像描述

我的功能很大,因为它具有多个单词的功能,并按字母顺序显示数组.这是<script代码:

    <script>

    $(function() {

            var availableTags = <?php echo json_encode($sometags); ?>;


            function split( val ) {
            return val.split( / \s*/ );
            }
            function extractLast( term ) {
            return split( term ).pop();
            }
             $( "#query" )
            // don't navigate away from the field on tab when selecting an item
            .bind( "keydown", function( event ) {
            if ( event.keyCode === $.ui.keyCode.TAB &&
            $( this ).data( "autocomplete" ).menu.active ) {
            event.preventDefault();
            }
            })
            .autocomplete({
            minLength: …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui autocomplete jquery-ui-autocomplete

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

可信高度动画:仅在删除一行后进行动画处理

这是我上一个问题的延续.

我设法通过添加一个条件来修复"动画暂停每个连续击键",该条件e.which === 13Enter按下键时检测并设置动画.


这是前一个工作方式:

在此输入图像描述

如您所见,在输入换行符然后继续击键时,动画滞后,这意味着动画会在每次击键时执行.


这些是经过修改的,仅在Enter按下后才会生成动画:

在此输入图像描述

它工作顺利(虽然在录制过程中有些滞后).


这些是删除每个字符时的工作方式(不长按):

在此输入图像描述

正如您所看到的,它没有动画效果,因为当您连续删除每个角色时,动画会暂停,就像第一次尝试一样.


所以我现在想要实现的是反向的,在删除换行后平滑动画.

这是一个实时代码:

var kAnimationSpeed = 250;
var kPadding = 10;

$('div[contenteditable]').on('blur keyup paste input', function(e) {
  var styleElement = $(this).prev();

  var editorHeight = $(this).height();
  var styleElementHeight = styleElement.height();

  if (editorHeight !== styleElementHeight - kPadding * 2 && e.which === 13 || e.which === 8) {
    styleElement.stop().animate({ height: editorHeight + kPadding * 2 }, kAnimationSpeed);
  }
});
Run Code Online (Sandbox Code Playgroud)
.autogrowWrapper {
  position: relative;
}

.autogrow …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery animation contenteditable

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