您错误地声明了(某些)事件处理程序:
$('.menuOption').click(function( event ){ // <---- "event" parameter here event.preventDefault(); var categories = $(this).attr('rel'); $('.pages').hide(); $(categories).fadeIn();});您需要“事件”作为处理程序的参数。WebKit遵循IE的旧行为,即对“事件”使用全局符号,但Firefox并非如此。当您使用jQuery时,该库将对行为进行规范化,并确保将事件参数传递给事件处理程序。
编辑 -澄清:您必须提供 一些 参数名称;使用
event可清楚说明您的意图,但是您可以调用它
e或
cupcake其他任何东西。
另请注意,您可能应该使用从jQuery传入的参数而不是“本机”参数(在Chrome,IE和Safari中)的原因是,该参数(参数)是围绕本机事件对象的jQuery包装器。包装器可以正常化浏览器之间的事件行为。如果使用全局版本,则不会。



