使用JS在自定义类中调用onmousedown和onclick

时间:2018-05-20 14:33:40

标签: javascript svg

当我拖动它时,我想让圈子(军队)移动,当我点击它时,它不应该移动而是做其他事情。

fucntion unit() {
    this.circle = document.createElementNS(svgNs, "circle");
    //Some attributes are added to this.circle
    document.getElementById("svg1").appendChild(this.circle);
    this.moving = false;
    this.circle.onclick = function () {
        showForm(this);
    }
    this.circle.onmousedown = function () {
        this.moving = true;
    }
}

1 个答案:

答案 0 :(得分:0)

好吧,我知道你没有在你的代码中标记jQuery,但是如果你看过我的其他帖子,我倾向于使用完整的jQuery。如果您想这样做,请执行以下操作:

让我们说这适用于您的圈子ID元素:

$("#circle").draggable( 'enable' )
var isDragging = 0;
var isUp = 1;
$("#circle").mousedown(function() {
    isDragging = 0;
    isUp = 0;
})
$("#circle").mousemove(function() {
    isDragging = 1;
 });
$("#circle").mouseup(function() {
    isDragging = 0;
    isUp = 1;
});
$("#circle").mousedown(function() {
    if (isUp == 1) {
       //click function

    } else if (isDragging == 1) {
       //drag function
    }
});

这可能是一个小小的车,但我试过了。