当前位置: 首页 > 面试题库 >

ReferenceError:Firefox中未定义事件错误

齐磊
2023-03-14
问题内容

我已经为客户创建了一个页面,最初是在Chrome中工作,却忘了检查它是否在Firefox中工作。现在,我遇到了一个大问题,因为整个页面基于无法在Firefox中运行的脚本。

它基于所有具有rel导致隐藏和显示正确页面的“链接” 。我不明白为什么这在Firefox中不起作用。

例如,页面具有id #menuPage#aboutPage依此类推。所有链接都具有以下代码:

<a class="menuOption" rel='#homePage' href="#">Velkommen</a>

它在Chrome和Safari中完美运行。

这是代码:

$(document).ready(function(){

//Main Navigation


$('.menuOption').click(function(){

  event.preventDefault();
  var categories = $(this).attr('rel');
  $('.pages').hide();
  $(categories).fadeIn();


});

// HIDES and showes the right starting menu
    $('.all').hide();
    $('.pizza').show();


// Hides and shows using rel tags in the buttons    
    $('.menyCat').click(function(event){
        event.preventDefault();
        var categori = $(this).attr('rel');
        $('.all').hide();
        $(categori).fadeIn();
        $('html,body').scrollTo(0, categori);

    });


});

问题答案:

您错误地声明了(某些)事件处理程序:

$('.menuOption').click(function( event ){ // <---- "event" parameter here

    event.preventDefault();
    var categories = $(this).attr('rel');
    $('.pages').hide();
    $(categories).fadeIn();


});

您需要“事件”作为处理程序的参数。WebKit遵循IE的旧行为,即对“事件”使用全局符号,但Firefox并非如此。当您使用jQuery时,该库将对行为进行规范化,并确保将事件参数传递给事件处理程序。

编辑 -澄清:您必须提供 一些 参数名称;使用event可清楚说明您的意图,但是您可以调用它ecupcake其他任何东西。

另请注意,您可能应该使用从jQuery传入的参数而不是“本机”参数(在Chrome,IE和Safari中)的原因是,该参数(参数)是围绕本机事件对象的jQuery包装器。包装器可以正常化浏览器之间的事件行为。如果使用全局版本,则不会。



 类似资料:
  • 我正在尝试做一个简单的通知功能,但每次我触发这个功能,我得到错误 类型错误: 无法读取导出处未定义的属性“参数”通知.函数.数据库.ref.onWrite (/user_code/索引.js:23:32) 在云功能新功能 (/user_code/node_modules/火基函数/库函数/库/云函数.js:105:23) 在云函数 (/user_code/node_modules/火基函数/lib

  • 我在使用 Firebase 云消息通知时遇到问题。当我想发送好友请求时,其他客户端没有收到通知。Firebase Functions日志说: 以下是JavaScript代码:

  • 在App开发中,经常会遇到页面间传值的需求,比如从新闻列表页进入详情页,需要将新闻id传递过去; Html5Plus规范设计了evalJS方法来解决该问题; 但evalJS方法仅接收字符串参数,涉及多个参数时,需要开发人员手动拼字符串; 为简化开发,mui框架在evalJS方法的基础上,封装了自定义事件,通过自定义事件,用户可以轻松实现多webview间数据传递。 仅能在5+ App及流应用中使用

  • 自定义事件主要会被用于框架、组件设计与实现中。 自定义的事件有许多的创建方式,但实际的业务场景中几乎不会被用到,网络上的文献记载其具体的使用场景也相对较少。 1. 使用 Event 构造函数 使用 Event 构造函数就可以创建一个自定义事件。 案例演示 预览 复制 复制成功! <style> .btn { border: 1px solid #4caf50; padding: 8px 12p

  • 问题内容: 我正在学习python并出现此错误。我可以找出错误在哪里什么在代码中。 , 。 当我运行程序 它输出你叫什么名字?(我输入d) 这给出了错误 这是来自Python 3的Absolute Beginners的示例代码。 问题答案: 在Python 2.x中,期望的是Python表达式,这意味着如果你键入d它,它将把它解释为名为d 的变量。如果你输入,那就可以了。 你可能真正想要的2.x是

  • 问题内容: 我试图在python中定义一个基本函数,但是当我运行一个简单的测试程序时,总是会收到以下错误; 这是我用于此功能的代码; 更新:我打开了名为pyth.py的脚本,然后在给出错误时在解释器中输入pyth_test(1,2)。 谢谢您的帮助。(对于这个基本问题,我深表歉意,我以前从未编程过,并且正在尝试将Python作为一种业余爱好来学习) 问题答案: 是的,但是在哪个文件中声明了定义?它