我试图在它定义的函数之外使用一个变量值.思想I.只需要在函数外部声明变量但不会削减它.对于那些知道的人来说,要轻松一点吗?
jQuery(document).ready(function() { var readOut; var readOut2; $(document).mousemove(function(e) { readOut1 = e.pageX; readOut2 = e.pageY; $('#var1').html(readOut1); }); $('#var2').html(readOut2); })
感谢所有人,特别是Andy E的解释和solution.
解决方法
您通过注册到事件处理程序的回调函数分配变量.这意味着当它运行时:
$('#var2').html(readOut2);
readOut2的值为undefined,因为它还没有被mousemove处理函数设置.在当前排队代码停止执行并且用户移动鼠标之前,该处理程序不会触发.您可以在与变量相同的范围内定义函数,并从mousemove处理程序调用该函数.
Re:你对另一个答案的评论,你可以使用一个计时器:
jQuery(document).ready(function() { var readOut1; var readOut2; $(document).mousemove(function(e) { readOut1 = e.pageX; readOut2 = e.pageY; $('#var1').html(readOut1); }); window.setInterval(function () { $('#var2').html(readOut2); },300); });