小编Aci*_*ake的帖子

Javascript:在拖动事件期间类属性变得未定义

我对 Javascript 中的类很陌生,我已经被困了几天试图理解为什么我的属性在我的所有方法中都变得未定义......

我试图复制这一成一类,但因为我的属性未定义的每次调用一个方法是不成功的。

我在 stackoverflow 上找不到类似的问题,但如果有的话请联系我,因为我可能没有搜索正确的问题。

<div class="row" style="height: 800px;">
    <div class="col" id="container">
        <div class="card" style="width: 300px; border-top: solid 20px black;" id="dragcard">
            <div class="card-body">
                <p>Text</p>
            </div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)
class DragEvents {

    dragCard = document.querySelector("#dragcard");
    container = document.querySelector("#container");

    currentX = 0;
    currentY = 0;
    initialX;
    initialY;

    constructor() {

        this.container.addEventListener("mousedown", this.dragStart, false);
        this.container.addEventListener("mouseup", this.dragEnd, false);
        this.container.addEventListener("mousemove", this.drag, false);

        console.log(this.currentX);//works, but I need this to work in my methods.
    }

    drag() {
        console.log("Drag");//fires
        console.log(this.currentX);//undefined
        console.log(this.currentY);//undefined
        console.log(this.initialX);//undefined
        console.log(this.initialY);//undefined
    }

    dragStart() …
Run Code Online (Sandbox Code Playgroud)

javascript class draggable addeventlistener

2
推荐指数
1
解决办法
374
查看次数

标签 统计

addeventlistener ×1

class ×1

draggable ×1

javascript ×1