2012-01-06 5 views
0

私はしばらくの間プロジェクトに取り組んできましたが、今まではFirefoxでテストしたことがなく、私のjqueryがFirefoxで動作していないことがわかりました。クロムのみ。誰がなぜこのように行動しているのか教えていただけますか?構文エラーですか? jqueryとfirefoxとの非互換性とは何か?JqueryはChromeでのみ動作しますか?

$('#dropmenutitle').click(function() { 
    event.stopPropagation(); 
    $('#dropmenu').fadeToggle('fast'); 
    $('body').click(function() { 
     $('#dropmenu').fadeOut('fast'); 
    }); 
}); 

$('#popboxtitle').click(function() { 
    event.stopPropagation(); 
    $('#popboxtop').fadeToggle('fast'); 
    $('body').click(function() { 
     $('#popboxtop').fadeOut('fast'); 
    }); 
}); 

私のコードである、と私はあなたのイベントでのjQuery 1.7.1

+0

あなたは問題が何であるかを説明した場合に役立つだろう... –

+0

私は、リンク(トリガー)がクリックされたときポップアップするポップアップするように設計された2つの異なるdivを作るしようとしています。現在のところ、ポップアップはChromeでしか動作しませんが、Firefoxでは動作しません。トリガーをクリックしても何も起こりません。 – Ninjiangstar

答えて

4

を使用しています、eventが存在しません。それをパラメータリストに入れる必要があります。

$('#dropmenutitle').click(function (event) { 
}); 

$('#popboxtitle').click(function (event) { 
}); 
+0

ありがとうございます!私はそれを完全に忘れてしまった!私はjqueryを使って次回にこのことを覚えておきます!再度、感謝します!私が指摘したい – Ninjiangstar

+1

あなたのコードは、クロムに取り組んでいた理由は、「イベント」は、内部でIEとChromeによって提供されていますが、パラメータで定義されていないかのそれは関係なく、Firefoxではありません。 –

+0

@Ninjiangstar:歓迎します:-) –

0

私は同様の問題に直面していましたが、私のケースではキーボードボードイベントを配線していました。私はイベントを取り外し、内部IEとChromeで提供され、この

$(document).keyup(function (e) { 
    var keyId = e.keyCode; //This will work for all browser 
    keyId = event.keyCode; //This will also work, but only in IE and Chrome 
}); 

イベントのような何かをしたが、それはFirefoxではありません。

これを試してください。お役に立てれば。

+0

私は理解しています。あなたがしたのは、パラメータ名 "event"を短縮した "e"で置き換えただけで、実際には何も変更していません。 ;-)任意の名前を使用して、イベントを関数に渡すことができます。 –

+0

私はそれを正しく説明しなかったかもしれない。上記のコード(私のコード)では、イベントを定義していなくても、e.keyCodeとevent.keyCodeでkeyCodeを取得できます。これは私がちょうど私の自己を試したので、IEのために確かに働くでしょう:) –

+0

Gotcha。はい、それを行うための方法は、イベントが渡されているので、 'e.keyCode'(名前を使用して「イベント」とは別の答えで提案したが、それは同じです)である。私は実際にその「イベントを知りませんでした'は世界中で利用可能でした!私の新しい知識。 ;-) –

関連する問題