javascript - 成对火灾事件

标签 javascript jquery svg

我有一个包含两个 svg 圆圈的数据结构。我已经在我的文档中添加了一个监听器,以便每次单击时都会在同一个位置创建 2 个圆圈。然后我希望其中一个圆圈跟随我的鼠标,直到我再次单击。此后,每次点击都会类似地创建数据结构。我无法理解如何禁用第一次单击的行为,然后在第二次单击后重新启用。我该怎么做?

document.click(function(e){
    c1 = document.circle(e.offsetX,e.offsetY,8);//create a circle 1st
    document.unclick();
    document.click(function(ev){
        c2 = document.circle(ev.offsetX,ev.offsetY,8);
        document.line(c1.attr("cx"),c1.attr("cy"),c2.attr("cx"),c2.attr("cy"));
        }
    document.unclick();
    }

现在我想再次激活第一个事件。我怎样才能做到这一点?

最佳答案

您可以使用一次点击事件和计数器变量

var counter=0, c1, c2;
document.click(function(e){
    counter++;
    switch(counter) {
       case 1:
           c1 = document.circle(e.offsetX,e.offsetY,8);//create a circle 1st
       break;
       case 2:
           c2 = document.circle(ev.offsetX,ev.offsetY,8);
           document.line(c1.attr("cx"),c1.attr("cy"),c2.attr("cx"),c2.attr("cy"));
           counter = 0;
       break;
    }
}

关于javascript - 成对火灾事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33693735/

相关文章:

javascript - 异步加载的 Cufon 不会在 IE 中呈现

javascript - 如何对该网站需求进行建模

javascript - 在标记图标中使用带有参数的 svg

jquery - $ 与 JQuery 之间的基本区别是什么

r - 如何提供带有超链接的 ggplot2 图?

javascript - 向 Raphael 元素添加事件

javascript - 无法创建 2 个表

JavaScript 禁用 : how to show different messages for mobile and desktop.

javascript - Javascript 闭包查询

javascript - 在 JQuery 中创建元素