2

jquery_uiオートコンプリートがあります。Firefoxで選択項目をクリックすると、コードが期待どおりに実行されます。IE8で実行すると、入力ボックスからの選択がクリアされます(すべてのコードが実行された後)。

フィールドをクリアしているコードを特定できません-コードをステップスルーしていますが、さまざまなポイントで発生します-多くのタイムアウトをステップオーバーしているので、おそらくその1つです。

私は誰かが以前にこれに出くわしたことを望んでいると思います。

アップデート

OK、問題をもう少し追跡することができました。これは、実際にテキストを削除するフォーカスイベントに添付したコードです。私の問題は、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>
4

1 に答える 1

2

return false解決策は、フォーカスイベントに追加することでした-

    $( "#tags" ).autocomplete({
        source: availableTags,
        select: function(event, ui) {
            $('#output').val(ui.item.label);
        }
    }).focus(function(e) {
        $(this).val("");
        return false;
    });
于 2012-05-24T08:28:43.070 に答える