Вы неправильно объявляете (некоторые из) обработчиков событий:
$('.menuOption').click(function( event ){ // <---- "event" parameter here
event.preventDefault();
var categories = $(this).attr('rel');
$('.pages').hide();
$(categories).fadeIn();
});
Для обработчиков вам нужно «событие». WebKit следует за старым поведением IE использования глобального символа для «события», но Firefox этого не делает. Когда вы используете jQuery, эта библиотека нормализует поведение и гарантирует, что обработчики событий передаются параметром события.
изменить & mdash; для уточнения: вы должны указать имя параметра ; используя event
, дает понять, что вы намереваетесь, но вы можете называть его e
или cupcake
или что-то еще.
Обратите внимание также, что причина, по которой вы, вероятно, должны использовать параметр, переданный из jQuery вместо «родной» (в Chrome и IE и Safari) заключается в том, что один (параметр) является оберткой jQuery вокруг собственного объекта события. Обертка - это то, что нормализует поведение событий в браузерах. Если вы используете глобальную версию, вы этого не получите.