Firefox中的jQuery-事件未定义为什么?

时间:2019-04-02 12:53:51

标签: javascript jquery

我在Firefox中使用jQuery存在问题。我不知道为什么会收到未定义的e(事件)错误。在Chrome,IE和Safari中都可以正常工作。

它一直在说未定义的事件..我在这里做什么错了?

谢谢!

我的代码:

$(document).ready(function() {

    function handleVideoModal() {
        $('.js-trigger-video-modal').on('click', function(e) {
            e.preventDefault();

            var id = $(this).attr('data-youtube-id');
            var autoplay = '?autoplay=1';
            var related_no = '&rel=0';
            var src = '//www.youtube.com/embed/' + id + autoplay + related_no;

            $('#youtube').attr('src', src);
            $('body').addClass('show-video-modal noscroll');
        });

        function handleCloseModal() {
            event.preventDefault();

            $('body').removeClass('show-video-modal noscroll');

            $('#youtube').attr('src', '');
        }

        $('body').on(
            'click',
            '.close-video-modal, .video-modal .overlay',
            function(event) {
                event.preventDefault();
                handleCloseModal();
            }
        );

        $('body').keyup(function(e) {
            if (e.keyCode == 27) {
                handleCloseModal();
            }
        });
    }
    handleVideoModal();
});

1 个答案:

答案 0 :(得分:1)

您的代码逻辑没有问题。这是一个跨浏览器兼容性问题。

尝试改用window.event

更多详细信息here