2012-01-12 12 views
1

私はIEにのみ問題があります。 FF、Chrome、Safariにはこの問題はありません。しかし私は、私が同じテクニックを何度も使っていて、IEに何の問題もなかったので、私のコードにIEが好きではないものがあると思います。ここでInternet Explorerでjqueryで奇妙なことがあります

は問題です:

私はこのようになりますいくつかのコードがあります。

var wrongSide = $('#wrongSide');// IE cannot handle in this case (but has before) 
wrongSide.dialog(
{ 
    autoOpen:false, 
    resizable:false, 
    modal:true 
}); 

が続いてHTMLに私は機能は、他のいくつかの関数を呼び出すのonchange =関数()持っているが

function wrongSideTrigger() 
{ 
    wrongSide.dialog('open'); 
} 

注意:私はそれが密接に関連していないため、中間機能を表示していません。

上記は、FF、Safari、Chromeで述べたとおりです。しかし、IEでは動作しませんし、jqueryセレクタをvarに割り当てる行に対して「オブジェクトにはこのプロパティがない」というエラーメッセージが表示されます。

しかし、コードをセレクタのvarsを使用しないように変更すると、IEで機能します。

$('#wrongSide').dialog(
{ 
    autoOpen:false, 
    resizable:false, 
    modal:true 
}); 

と、この:

function wrongSideTrigger() 
{ 
// wrongSide.dialog('open'); 
    $('#wrongSide').dialog('open'); 
} 

それはまた、IEで動作するコードは、次のようになります。

私はこのテクニックを何度もやっており、IEは "jquery selector vars"に何の問題もなかったということです。

私はいくつかの構文エラーまたはIEが好きではない他のものがあるのだろうかと思います。

アイデア?

+4

それは不可能です...何かが間違っています。あなたはjsFiddleを投稿できますか? – Ryan

答えて

1

すべてうまく見えます。

JavaScriptは実際には言語の一部ではないかなり予期しないキーワードの犠牲者ですが、私は「wrongSide」はそれらの1つではないことをかなり確信しています。 IE上でさえも。

場合によっては、試してみることもできますvar $ wrongSide = .....;

+0

wrongSideは、最初のコードスニペットで定義されているvarです。私は以来jqueryセレクタであるvarsに先行する$を使用しています。これはあなたが言っているようです。 –

+0

Jeffreyは、多くのjQueryプログラマーがjQueryインスタンスを指す変数名に使用する規則です。 –

+0

....上記の用語に注意してください。 「セレクタ」は、DOMから特定の要素のセットを選択するために$(...)ステートメントに入る文字列です。実行時に、このような文は「jQueryインスタンス」を返します。 –

関連する問題