js捕获鼠标滚轮事件代码
作者:互联网
2025-08-12
之前看到一个人人网高级前端面试的笔试题
要求手写代码,其中有个题是做一个图片展示
类似百度图片最下面小缩略图那个展示栏
然后要求有个鼠标滚轮滚动变大变小的要求
这个我还真不知道怎么做,在网上找了找资料
发现可以捕获onmousewheel的事件
然后根据event.wheelDelta值的正负来判断是前滚还是后滚
随便写了个小例子,顺便捕获下键盘的按键,不太美观没有换行
因为用textNode做的,加不进去html代码
说到这里是不是可以用这种方法来防止xss注入呢?
复制代码代码如下:
< body onkeydown="showKey()" onmousewheel="showKey()" >
复制代码代码如下:
function showKey(){
if(event.wheelDelta){
复制代码代码如下:
// 正120为前滚 负120为后滚
var textNode = document.createTextNode(event.wheelDelta+" ");
document.body.appendChild(textNode);
document.body.normalize();
}
if(event.keyCode)
{
var textNode = document.createTextNode(event.keyCode+" ");
document.body.appendChild(textNode);
document.body.normalize();
}
}
其中还刚好用到今天刚看高级设计那里的textNode元素那块的一个
合并多个textNode的方法
复制代码代码如下:
normalize();
相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
5.响应式系统比对:手写 React 响应式状态库 Mobx
踩坑分享:Vite Plus 最佳实践
VTJ核心引擎开源项目概览
你的 Vue 3 TS 类型声明,VuReact 会处理成什么样的 React?
Element Plus 主题构建方案
Vue 组件间通信
你的 Vue 3 <script setup>,VuReact 会编译成完整的 React 组件
vue3+typescript+vite封装自己的UI组件库并上传至npm
都知道AI大模型能生成文本内容,那你知道大模型是怎样生成文本的吗?
vue3 数据响应式遇到的问题
AI精选
