javascript - 相继注册两个不同的 mousedown 事件的好方法是什么?

标签 javascript jquery

我需要将 JSON 发送到服务器。格式为 { "src": X, "dest": Y } 形式。

src 包含我单击的第一个项目的属性数组。 destination 是我在屏幕上单击的第二个项目。

现在这是我的基本结构:

$('img').on('mousedown', function(e) {
    // parse json for src and validate input
    let obj = {};
    obj.src = myvalidatedinput"
    // ...
});

如何确保单击一次填充对象的 src 属性,然后在第二次单击时获取对象的 dest 属性?另外,那时我想停止跟踪点击次数,然后重新开始。

最佳答案

在处理程序外部定义对象。然后,您可以根据已设置的值设置所需的属性。像这样的事情:

let obj = {};
$('img').on('mousedown', function(e) {
    if (!obj.src) {
        obj.src = /* get the src property value */;
    } else if (!obj.dest) {
        obj.dest = /* get the dest property value */;
        // send AJAX here

        // reset to start again on next mousedown:
        obj = {};
    }
});

关于javascript - 相继注册两个不同的 mousedown 事件的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40630271/

相关文章:

javascript - Google Charts - 从 Ajax 创建数据

javascript - 使用与 javascript 关联的数组进行搜索?

jQuery 动画对象看起来像漂浮在水中

c# - jQuery - 更改下拉列表索引也会更改值

javascript - 如何使用jquery获取行字段(嵌套对象)的值

c# - 使用 JavaScript 或 jQuery 调用服务器方法

javascript - call(null) 和 call(window) 的效率

javascript - 调整大小时 slider 无法准确滑动

javascript - jQuery 插件事件监听器未触发或绑定(bind)

javascript - sencha touch 将变量添加到模板/列表/等