【问题标题】:IE8 Clearing JQuery-UI Autocomplete Input Field After Selection选择后 IE8 清除 JQuery-UI 自动完成输入字段
【发布时间】:2012-04-04 14:22:47
【问题描述】:

我有一个 jquery_ui 自动完成功能。当我单击 Firefox 中的选择时,我的代码按预期运行。当我在 IE8 中运行它时,有些东西正在清除输入框中的选择(在我的所有代码运行之后)。

我无法识别清除字段的代码 - 我正在单步执行代码,但它发生在不同的时间点 - 我正在执行很多超时,所以可能是其中之一。

我想我希望有人以前遇到过这种情况..

更新

好的,我已经设法进一步追查了这个问题。这是我附加到实际删除文本的焦点事件的代码。我的问题似乎与 ff 和 ie 之间触发事件的顺序不同有关

我在 jsfiddle 上提供了一个演示 - http://jsfiddle.net/aidanewen/nKyLu/

我在下面包含了我的代码 -

<script>
   $(function() {
        var availableTags = [
            "ActionScript",
            "AppleScript",
            "Asp",
            "BASIC",
            "C",
            "C++",
            "Clojure",
            "COBOL",
            "ColdFusion",
            "Erlang",
            "Fortran",
            "Groovy",
            "Haskell",
            "Java",
            "JavaScript",
            "Lisp",
            "Perl",
            "PHP",
            "Python",
            "Ruby",
            "Scala",
            "Scheme"
        ];
        $( "#tags" ).autocomplete({
            source: availableTags,
            select: function(event, ui) {
                $('#output').val(ui.item.label);
            }
        }).focus(function(e) {
            $(this).val("");
        });
    });
</script>

<div id="content_padding">

        <div class="ui-widget">
            <label for="tags">Tags: </label>
            <input id="tags"/>
            <label for="output">Output: </label>
            <input id="output"/>
        </div>

</div>

【问题讨论】:

  • 您将不得不分享有问题的代码。此外,在 Jsfiddle.net 这样的网站上展示该问题的演示也不会受到影响。
  • 谢谢安德鲁。我的问题是,我无法识别有问题的代码。我还没有设法用代码的子集复制这个错误,我不能把所有的东西都放到网上。对不起,这真的是一个愚蠢的问题。当我找到更多信息时,我会发布更多信息。
  • 好的,我已经添加了更多信息。
  • 就是这样 - 谢谢安德鲁。它是上述的副本(我被标题抛出 - JQuery UI 在所有浏览器中触发焦点两次)。解决方案是在我的焦点事件中添加 return false。

标签: jquery-ui events internet-explorer-8 autocomplete focus


【解决方案1】:

解决方案是在焦点事件中添加return false -

    $( "#tags" ).autocomplete({
        source: availableTags,
        select: function(event, ui) {
            $('#output').val(ui.item.label);
        }
    }).focus(function(e) {
        $(this).val("");
        return false;
    });

【讨论】:

    猜你喜欢
    • 2011-02-03
    • 1970-01-01
    • 2014-01-14
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    相关资源
    最近更新 更多