发出解除绑定的mousemove

时间:2019-01-17 12:51:51

标签: jquery mouseevent mousemove

启动“ mousemove”功能后,我无法停止其运行。

正如您将在下面的代码中看到的那样,如果视口宽度更改为小于1350px,则我正在使用jQuery(document).off('mousemove');尝试解除绑定,但是mousemove函数将继续运行。

有人能解释为什么以及如何实现这一目标吗?我显然缺少了一些东西。

var viewportWidth,
    viewportHeight;

function winResize() {

    viewportWidth = jQuery(window).width();
    viewportHeight = jQuery(window).height();   

    var mouseTimer;

    function clearTimer() {

        clearTimeout(mouseTimer);

    }

    function setTimer() {

        mouseTimer = setTimeout(function() {
            jQuery('.portfolio-onpage-details').addClass('hide');
        }, 3000);

    }

    if ( jQuery('html').hasClass('no-touch') ) {

        if ( viewportWidth > 1350 ) {

            setTimer();

            jQuery(document).on('mousemove', function() {

                jQuery('.portfolio-onpage-details').removeClass('hide');

                clearTimer();
                setTimer();

            });

        } else {

            clearTimer();

            jQuery(document).off('mousemove');
            jQuery('.portfolio-onpage-details').removeClass('hide');

        }

    }

}
jQuery(window).resize(winResize); 
winResize();

0 个答案:

没有答案