4

Firefoxでうまく機能するjQueryUI1.8rc3の新しいオートコンプリートウィジェットがあります。IEではまったく機能しません。誰かが私を助けることができますか?

HTML:

<input type="text" id="ctrSearch" size="30">
<input type="hidden" id="ctrId">

Javascript:

$("#ctrSearch").autocomplete({
    source: "ctrSearch.do",
    minLength: 3,
    focus: function(event, ui){
        $('#ctrSearch').val(ui.item.ctrLastName + ", " + ui.item.ctrFirstName);
        return false;
    },
    select: function(event, ui){
        $('#ctrId').val(ui.item.ctrId);
        return false;
    }
});

結果(IE 8):

赤いボックスは、<ul>jQueryによって作成された要素です。

このエラーも発生します:

ライン:116
エラー:引数が無効です。

IE8スクリプトデバッガーで開くと、f[b]=djquery.min.jsの116行目で強調表示されています。Googleのサーバー( https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js )でホストされているバージョン1.4.2のjQueryを使用していることに注意してください。

いくつかのオプションを削除しようとしましたが、オプション.autocomplete()なしで、またはソースオプションのみを使用して呼び出した場合でも、同じ結果が得られます。

繰り返しになりますが、Firefoxでは機能しますが、IEでは機能しません。助言がありますか?

ありがとう。

更新: 提案されたように、私は(jquery.min.jsの代わりに)jquery.jsを使用し、4618行目にエラーが発生しました。以下のjitterの回答を参照してください。数日前に投稿されたこの他のStackOverflowの質問をご覧ください。

更新2: jQuery UIオートコンプリートがthis.element.height、関数を使用する必要があるときに無効なプロパティを使用していることを発見しましたthis.element.height()

4

2 に答える 2

5

私がこの権利を理解している場合、あなたが参照している行は、関数のjquery.1.4.2.jsstyleの4618行のようです。これは、オートコンプリートプラグインが、IE8が理解できない、またはこの方法でアクセス/変更することを許可しないスタイル値を設定しようとすることを意味するだけです。

style[ name ] = value; //style == elem.style from the passed in element
于 2010-03-16T16:32:49.910 に答える
1

まったく同じ行にまったく同じエラーがありますが、まったく異なる取引です。つまり、オートコンプリートとは何の関係もありません。むしろ、jQueryでこれを試しているために発生します...

$(this).css('background', 'rgba(64,255,64,.4)');

どのjQueryが実行しようとしますか...

style [ 'background' ] = 'rgba(64,255,64,.4)';

もちろん、rgbaはInternet ExplorerでサポートされているCSS値ではないため、失敗します。ですから、これはあなただけではありませんが、私の場合は間違っていました。適切なjQuery構文はこれです...

$(this).css({backgroundColor: '#40ff40', opacity: .4});

これが私の情報源です...

http://www.cjs.me.uk/blog/?p=238

于 2010-07-30T23:03:56.327 に答える