【问题标题】:jQuery UI Autocomplete IE Cursor Position BugjQuery UI 自动完成 IE 光标位置错误
【发布时间】:2012-06-02 19:04:32
【问题描述】:

我刚刚实现了出色的 jQuery UI 自动完成功能。

http://jqueryui.com/demos/autocomplete/

IE 8(可能还有其他版本)中有一个奇怪的错误。

当您从 IE 8 的建议框中选择一个项目时,光标会移动到刚刚插入的建议单词之前的文本框的开头。

Firefox 将光标放在插入的单词之后。

有人知道解决这个问题的方法吗?

问候

史蒂夫

【问题讨论】:

    标签: javascript jquery-ui autocomplete


    【解决方案1】:

    尝试将以下代码添加到传递给自动完成函数的选择事件中。

    如果你有:

    jQuery('someval').autocomplete({
            source: availableTags
        });
    

    改为:

    jQuery('some_val').autocomplete({
        source: availableTags,
    
        select : function(event, ui){
                if(document.selection) { 
                    this.focus(); 
                    var oSel = document.selection.createRange(); 
                    oSel.moveStart('character',this.value.length); 
                    oSel.moveEnd('character',0); 
                    oSel.select(); 
                } 
            }
    })
    

    查看更多: http://forum.jquery.com/topic/ui-autocomplete-multiple-demo-caret-position-in-ie http://jqueryui.com/demos/autocomplete/#multiple

    【讨论】:

    • 感谢 Aaron 的建议,我在任何谷歌搜索中都没有找到该答案。但是我看不到如何实施此修复程序。我搜索了 jquery ui 核心、自动完成和 jquery 库本身的非缩小版本,但找不到'this.value = terms.join(", ");'行任何地方。我不知道此修复是否与旧版本有关,尽管该帖子不到一个月。很奇怪。还有其他想法吗?问候史蒂夫
    • 哦,那是针对自动完成的多个版本的。它应该被添加到 .autocomplete 代码的选择事件中。我会将我发现的内容编辑到帖子中。
    • 感谢 Aaron,工作出色。即使在花了几天时间更新我们的平台以支持自动完成之后,客户也会做的第一件事就是抱怨这个故障。干杯!
    • 没问题,客户有时首先会抱怨什么总是让我感到惊讶。有时他们会忽略在我们看来像一头巨大的粉红色大象,以指出一点污垢。 耸耸肩
    【解决方案2】:

    http://bugs.jqueryui.com/ticket/6858 这对我帮助很大!

    【讨论】:

      猜你喜欢
      • 2011-02-03
      • 2012-03-25
      • 2013-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-02
      • 2014-06-26
      相关资源
      最近更新 更多