dom事件的新认识
- dom事件都是针对元素来说的,都要绑定在指定元素上,如果你希望所有元素都绑定,即不区分在那个元素上,都触发事件
比如当我们希望移动鼠标或者按下某个按键的时候事件被触发,这个时候我们显然不希望指定某个元素,希望整个页面任何位置都适用,这个时候要将事件绑定在document上 即document.onmousemove = function(){} document.onkeydown = function(){}
- 事件中的this和 e.target 并不一定相等,e.target指的是触发事件的最近一级的dom元素,this指的是事件绑定的dom对象
ps:当使用行内式定义事件的时候,this指向window对象<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <p>点击一个段落。一个警告框将警报触发事件的元素。</p> <script> document.getElementsByTagName('p')[0].onclick = myFunction; function myFunction(e){ console.log(this === window); //false console.log(this === e.target) //true console.log(e.target) //'<p onclick="myFunction(event)">点击一个段落。一个警告框将警报触发事件的元素。</p>' } </script> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <p onclick="myFunction(event)">点击一个段落。一个警告框将警报触发事件的元素。</p> <script> function myFunction(e){ console.log(this === window); //true console.log(e.target) //'<p onclick="myFunction(event)">点击一个段落。一个警告框将警报触发事件的元素。</p>' } </script> </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix