JavaScript绑定和回调

JavaScript绑定和回调,javascript,callback,bind,Javascript,Callback,Bind,我试图计算鼠标的瞬时速度 为此,我创建了x1=e.pageX来存储起始坐标,并创建了t1=newdate()…来获取起始时间。然后,我想在鼠标停止移动100 m/s后进行回调,并计算新的pageX和t2。。。这是我可以得到给定时间间隔的斜率x2-x1/t2-t1 问题:调用回调时,我试图使用bind将事件e(mousemove(函数(e))的上下文绑定到回调。我这样做是否有误 var mY = 0, mX = 0, slope =

我试图计算鼠标的瞬时速度

为此,我创建了
x1=e.pageX
来存储起始坐标,并创建了
t1=newdate()…
来获取起始时间。然后,我想在鼠标停止移动100 m/s后进行回调,并计算新的
pageX
t2
。。。这是我可以得到给定时间间隔的斜率<代码>x2-x1/t2-t1

问题:调用回调时,我试图使用
bind
将事件
e
mousemove(函数(e)
)的上下文绑定到回调。我这样做是否有误

        var mY = 0,
            mX = 0,
            slope = 0,
            vel = 0,
            thread;

        $(document).ready(function(){

            $(".box").mousemove(function(e) {
                getDirection(e);

                var x1 = e.pageX,
                    t1 = new Date().getTime();

                clearTimeout(thread);
                thread = setTimeout(callback.bind(this), 100);

            });
        });

        function callback(e) {
            var x2 = e.pageX,
                t2 = new Date().getTime(),
                xDist = x2 - x1,
                time = t2 - t1;

            log(x2 + ", " + x1);        
            slope = xDist/time;                         
            log("mouse has stopped");   
        }           
我做得不对吗

        var mY = 0,
            mX = 0,
            slope = 0,
            vel = 0,
            thread;

        $(document).ready(function(){

            $(".box").mousemove(function(e) {
                getDirection(e);

                var x1 = e.pageX,
                    t1 = new Date().getTime();

                clearTimeout(thread);
                thread = setTimeout(callback.bind(this), 100);

            });
        });

        function callback(e) {
            var x2 = e.pageX,
                t2 = new Date().getTime(),
                xDist = x2 - x1,
                time = t2 - t1;

            log(x2 + ", " + x1);        
            slope = xDist/time;                         
            log("mouse has stopped");   
        }           
是的,您从未将
e
传递给回调。看起来您想要

callback.bind(this, e)
在事件处理程序中,
引用处理程序绑定到的DOM元素,而不是事件