javascript - $(this) 返回未定义
问题描述
为什么 $(this) 返回未定义而不是单击的元素?
我已经用 event.target 替换了 $(this),它工作正常,但想了解 $(this) 的问题,谢谢!
$('.nav-search-options').on('click', (event) => {
console.log($(this))
})
解决方案
@JamesJavascript。Justinas 在关于箭头功能的评论中所说的部分正确 - 尽管还有更多内容要添加。
箭头函数没有自己的“this”,而是从其父作用域绑定一个。
要明白我的意思,试试这个,看看它会返回窗口对象:
const myFunction = () => {
console.log(this);
};
// call it
myFunction();
在此处阅读有关它的更多信息 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
推荐阅读
- python - 如何将值传递到我的 Flask 表单中
- powershell - PowerShell 按位置查找和替换字符串
- node.js - 在 mongoose 和 supertest 的测试运行完成后,Jest 没有退出一秒钟
- reactjs - React-select 在移动浏览器上不起作用
- php - 发送 GET 请求时未设置 CORS
- networking - 获取硬件时间戳
- java - JDA Stream mp4 文件不和谐
- postgresql - application.properties 中的设置与@Component java spring boot 中的设置之间的区别
- python - pyautogui 没有显示我在 Pycharm 中的鼠标位置
- c# - 如何使用 It.IsAny<>(TValue) 匹配对象的某些属性?