javascript - jQuery 如何使用变量返回鼠标位置

标签 javascript jquery

所以,我制作了一个简单的函数来获取页面上的鼠标位置。我想让它更简单,这样我就可以将变量传递给另一个函数。现在,我有这个:

$(document).on('mousemove', world, function(e){
    var loc = function(){
        this.x = function(){
            return e.pageX - $(world).offset().left;
        }
        this.y = function(){
            return (e.pageY - $(world).offset().top)*(-1);
        }
    }
    console.log(loc.x, loc.y)
});

console.log 仅返回未定义。有没有办法在全局范围内执行此操作,以便我可以使用诸如 loc.x 之类的变量传递到函数中?

最佳答案

您需要在应用程序范围内创建一个对象。 (将其放在全局级别可能会导致命名空间冲突。)

var loc = {
    x: 0,
    y: 0
};

然后继续在事件中重新分配对象的属性,在本例中是当您移动鼠标以跟踪鼠标位置时。

$(document).on('mousemove', function (e) {
    loc.x = e.pageX;
    loc.y = e.pageY;
    console.log(loc.x, loc.y);
});

JSFiddle

关于javascript - jQuery 如何使用变量返回鼠标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25335990/

相关文章:

javascript - 为什么这些图像比原始尺寸大?

jQuery AJAX GET html 数据 IE8 不起作用

jquery - 无法使用ajax和linq将数据保存到数据库

javascript - Vue.js 将选中的复选框限制为 5

javascript - 自上而下的汽车游戏中的漂移痕迹

javascript - 使用 TogetherJS 扩展性将更改同步到 Div

javascript - 为什么 settimeout(function(), 0 ) 和 function() 之间的执行时间不同?

jquery - 我如何使用 AJAX 使我的登录和注册页面在 Rails 3 中相同?

jQuery 如何按值选择选项?

javascript - JQuery 根据单击的菜单项添加/删除类