目前,当鼠标移动时,我会“做一些事情”。但是,如果用户调整浏览器的大小或向下滚动浏览器,我也想做完全相同的事情。
    jQuery(document).bind('mousemove',function(e){
            var x,y;
            x = e.pageX; // x坐标
            y = e.pageY; // y coord
            //其他的东西
    });

我试着做

jQuery(document).bind('mousemove resize scroll',function(e){...


但是没有用。我也试过

jQuery(document, window).bind('mousemove resize scroll',function(e){...


但它也不起作用。

我也知道您可以使用

$(window).scroll(function(){


并使用

$(window).resize(function() {


但是如果使用这些检测,我将没有“ e”参数来获取鼠标的x和y坐标

如何将所有3个事件都绑定到一个函数中?

谢谢

最佳答案

您仍然在scroll和resize方法中具有事件数据。尝试将您的代码包装到具有3个处理程序的单个函数中。 on()方法需要jQuery 1.7+

function reusable(eData){
    // Heres what you want to do every time
}
$(document).on({
    mousemove: function(e) { reusable(e); },
    scroll   : function(e) { reusable(e); }
);
$(window).on({
    resize   : function(e) { reusable(e); }
});




已编辑

这些事件应位于其正确的对象windowdocument中,否则您将获得意外的值。

关于javascript - 如何将mousemove滚动绑定(bind)并全部调整为一个函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10591741/

10-12 06:53