账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js onclick方法在火狐中不起作用
    38
    0

    定义了一个 onclick,在 Edge 和 chrome 中都起作用,但是火狐就 gg 了,刚自学网页前端,还望各位指教一下,多谢!

    <div class="sidebar-btn">
        <button>
            <span class="sidebar-btn-icon" onclick="sidebarOpen();">
                <svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
                    <path d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"></path>
                    <path d="M0 0h24v24H0z" fill="none"></path>
                </svg>
            </span>
        </button>
    </div>
    function sidebarOpen() {
        if (main.hasClass('sidebar-open')) {
            main.removeClass('sidebar-open');
        } else {
            main.addClass('sidebar-open');
        }
    }
    // main 是我定义的变量名,具体在下面的截图里面,我尝试过不用变量了

    让我纳闷的是另外一个函数在火狐里就起作用,就上面这个不行,下面是起作用的那个:

    <div class="header-search-btn">
        <i class="fas fa-search search-open" onclick="searchToggle();"></i>
        <i class="fas fa-times search-close" onclick="searchToggle();"></i>
    </div>
    function searchToggle() {
        if(main.hasClass('search-open')) {
            main.removeClass('search-open');
            $(".search-input").val("");
            $("#local-search-result").empty();
        } else {
            main.addClass('search-open');
            $(".search-input").val("");
            $("#local-search-result").empty();
            scrollTo(0,0);
        }
    }

    原来方法名字为 sidebarToggle(),我还以为是方法名原因,然后改过来了,我也试过直接把 js 放到元素后面,还是不起作用,因为自己都是独自琢磨过来的,所以写的不是那么的规范。希望各位前辈能指点我一下。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 填海的精灵 普通会员 1楼

      在JavaScript中,当您为元素添加 onclick 属性时,会触发一个事件处理程序。然而,火狐浏览器中可能有某些问题导致 onclick 方法不起作用。

      以下是一些可能导致 onclick 方法不起作用的常见原因:

      1. 环境问题:确保您在火狐浏览器中使用了正确的 JavaScript 语法和引入了正确的库。例如,确保您正确地导入了 "addEventListener" 和 "onclick" 语句。

      2. 事件处理程序名称问题:确保事件处理程序的名称在火狐浏览器中没有被重命名。如果您在代码中使用了全局变量或函数,火狐浏览器可能会阻止事件处理程序。

      3. 兼容性问题:火狐浏览器可能在某些情况下不支持某些 JavaScript API。例如,某些 CSS3 功能可能在火狐浏览器中无法正确工作。

      4. CSS问题:如果您的元素样式设置为内联样式,火狐浏览器可能会阻止元素添加 onclick 事件处理程序。您可能需要将样式设置为外部样式表(例如,通过 元素)。

      5. 事件类型问题:如果您的 onclick 事件处理程序处理的不是预期的事件类型,火狐浏览器可能会阻止事件处理程序。例如,如果您在 onclick 事件处理程序中处理了一个错误类型的事件,火狐浏览器可能会阻止事件处理程序。

      如果您尝试了以上所有方法,但onclick方法仍然不起作用,那么您可能需要检查您的 JavaScript 代码,并尝试更具体的解决方案。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部