jQuery 单击不起作用 FireFox - 可能是 event.preventdefault

big*_*rge 1 javascript firefox jquery function jquery-events

我有以下适用于除 Firefox 之外的所有浏览器。这似乎是阻止默认操作的问题,我该如何解决?

$(".subcontent .sidebar .mobileopen").on("click", function () {
    event.preventDefault();
    $('.subcontent .sidebar .mobileopen').toggleClass('removeborder');
    $('.subcontent .sidebar nav.mobile').slideToggle();
    $('.subcontent .sidebar nav.mobile ul li.menu-item-has-children > a').on("click", function () {
        event.preventDefault();
        $(this).nextAll('ul').eq(0).slideToggle('slow');
        $(this).parent().toggleClass("open");
    });
});
Run Code Online (Sandbox Code Playgroud)

Tus*_*har 5

您尚未将event参数传递给事件处理程序

$(".subcontent .sidebar .mobileopen").on("click", function (event) {
                                                            ^^^^^
    event.preventDefault();
Run Code Online (Sandbox Code Playgroud)

Mozilla Firefox 没有全局event. 检查/sf/answers/2321700181/

您还可以return false;在事件处理程序的末尾使用以防止元素的默认操作发生。这也将停止事件冒泡。