绑定的bindblur事件中,直接打印this为undefined是什么原因?
发布于 5 年前 作者 qbai 16715 次浏览 来自 问答

我给一个元素绑定了失焦事件,但是失焦事件的函数里直接打印this却是undefined,代码如下:

<input id='peopleName' bindblur='VerifyName' type='text' placeholder='请输入姓名' placeholder-class='placeholder'></input>
 
VerifyName:e=>{
    console.log(this); //控制台显示为undefined
    const testName = /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,20}$/;
    if (testName.test(e.detail.value)) {
      console.log('验证通过');
    } else {
      console.log('请输入正确的姓名');
    }
  }

1 回复

解决了,原来绑定的事件函数不能写成箭头函数,否则this会undefind

回到顶部