js 函数中 event 参数 、位置
函数中传递 event + 其他参数
<div id="btn" onclick="clickBtn(event,2)">任务总数</div> <script> function clickBtn(event,val){ console.log(event); console.log(val) } </script>
注意:event可以调换前后顺序但必须是event关键字
如果不传递参数默认函数自带 event
<div id="btn" onclick="clickBtn()">任务总数</div> <script> function clickBtn(){ var ev=event ||window.event || arguments.callee.caller.arguments[0]; ; // 浏览器兼容 console.log(ev); } </script>
注意:event.srcElement问题
问题说明:IE下,even对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有 srcElement属性。
解决方法:使用srcObj = event.srcElement ? event.srcElement : event.target;
不传递event的时候也可以传参
<div id="btn" onclick="clickBtn(2)">任务总数</div> <script> function clickBtn(a){ console.log(event); console.log(a) }
"οnclick=function"
<div id="btn">任务总数</div> <script> var btn=document.getElementById('btn') btn.onclick=function(e){ test(e,'aa') } function test(e,str){ console.log(e.target) console.log(str) } </script>
addEventListener
<div id="btn">任务总数</div> <script> var btn=document.getElementById('btn') btn.addEventListener('click',function(e){ test(e,'aa') }) function test(e,str){ console.log(e.target) console.log(str) } </script>
Event 参数中的坐标位置
窗口坐标:clientX、clientY
相对于用户浏览器的左上角的x、y坐标,也就是窗口坐标,不包括工具栏、滚动条。
clientX、clientY是相对于可视区窗口的坐标,即使有滚动条,在窗口(可视区窗口)相同的位置单击,坐标不变。
文档坐标:pageX、pageY
相对于当前浏览器,也就是文档左上角x、y坐标,
pageX=clientX + 页面滚动横向距离
pageY=clientY + 页面滚动纵向距离
屏幕坐标:screenX、screenY
相对于用户显示器的左上角x、y坐标,有多块屏幕以主屏幕为准。
元素偏移坐标:offsetX、offsetY
offset意为偏移量,鼠标距离被点击的元素距左上角的x、y坐标,包含padding;如果点击border 为负值。
如果给盒子定义一个点击事件,则这个offset的坐标是到这个盒子的左上角的距离。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现