首页 > 解决方案 > 将参数传递给点击处理程序

问题描述

在下面的代码中,我想将myVar变量传递给editNote函数:

class MyNotes {
  constructor() {
    this.events();
  }

  events() {
    let myVar = 5;
    document.getElementById('btn').onclick = this.editNote;
  }

  editNote() { 

  }

}

new MyNotes;

我知道如果我使用

events() {
  let myVar = 5;
  document.getElementById('btn').onclick = function() {};
}

我可以直接使用它,但由于某种原因我不能这样做。有人可以帮我吗 ?

标签: javascript

解决方案


这个问题有点不清楚,但这是你要找的吗?

class MyNotes {
  constructor() {
    this.events();
  }

  events() {
    let myVar = 5;
    document.getElementById('btn').onclick = ()=>{this.editNote(myVar)};
  }

  editNote(myVar) { 

  }

}

new MyNotes;

或者

class MyNotes {
  myVar;

  constructor() {
    this.events();
  }

  events() {
    this.myVar = 5;
    document.getElementById('btn').onclick=this.editNote;
  }

  editNote() { 
     //use this.myVar
  }

}

推荐阅读