我对 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)