繁体   English   中英

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

[英]jQuery on click not working FireFox - possibly event.preventdefault

我有以下适用于除 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");
    });
});

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

$(".subcontent .sidebar .mobileopen").on("click", function (event) {
                                                            ^^^^^
    event.preventDefault();

Mozilla Firefox 没有 global event 检查https://stackoverflow.com/a/33167145/2025923

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

这个对我有用

$("body").on("click", ".subcontent .sidebar .mobileopen" function (event) {
    event.preventDefault();

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM