导航:首页 > 编程语言 > js监听鼠标滚轮事件

js监听鼠标滚轮事件

发布时间:2023-07-07 08:09:23

js,鼠标上下滑轮或者拉动滚动条触发事件

window.onmousewheel=function(){//触发滚轮事件

}
window.onscroll=function(){//滚动条事件

}
//其实你的问题直接使用判断滚动条应该就可以了,但是版如果一定要拖动滚动条才执行权事件,我们可以通过获取鼠标位置来模拟
vara=document.getElementsByTagName("html")[0];
window.onmousemove=function(){
//一般默认滚动条12px宽,当鼠标位于浏览器窗口右边12px内按下鼠标可以视为拖动滚动条
if(innerWidth-event.clientX<12){
a.onmousedown=function(){
console.log(1);
}
}else{
a.onmousedown=null;
}
}

⑵ js 键盘监听页面中一个div块儿的左右滚动条,但是必须先鼠标点击一下div才可以监听,怎么解决取消点击

不知道你使用的是什么方式绑定的监听事件。

假如使用 addEventListener,那就使用removeListener 来移除。

案例如下

<!DOCTYPEHTML>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8">
<title>事件监听与移除</title>
</head>
<body>
<divid="text"style="width:300px;height:300px;background-color:#ccc">
点击按钮注册click事件
</div>
<inputid="btn1"type="button"value="开始监听事件">
<inputid="btn2"type="button"value="移除监听事件">
<script>
var$=function(obj){
returndocument.querySelector(obj);
}
varn=0;
functiontextFn(){
this.textContent="点击了"+(++n)+"次";
}
$('#btn1').onclick=function(){
console.log($('#text'));
$('#text').addEventListener('click',textFn);
$('#text').textContent="开始监听click事件";
};
$('#btn2').onclick=function(){
n=0;
$('#text').removeEventListener('click',textFn);
$('#text').textContent="移除监听click事件,恢复到"+n+"次";
};
</script>
</body>
</html>

⑶ js 检测鼠标滚轮上下滚动

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int delta; //一次滑动量 TCHAR szMessage[120]; static int time; //最后一次滚动时的时间值 static int start; //第一次滚动前的刻度值 static int index=10; //最后一次滚动后的刻度值 static BOOL bStart=FALSE; //是否第一次滚动鼠标 switch (message) { case WM_CREATE: SetTimer(hWnd,500,500,NULL); break; case WM_MOUSEWHEEL: delta=GET_WHEEL_DELTA_WPARAM(wParam); if(delta>0) { int line=delta/40; if(line+index<=100) //放大位图逻辑 { if(!bStart) { start=index; //记录第一次刻度值 } index+=line; //刷新最近刻度值 _stprintf(szMessage,_T("向上滚动%d行\n"),line); time=GetTickCount(); bStart=TRUE; OutputDebugString(szMessage); } } else { int line=-delta/40; if(index-line>=0) //缩小位图逻辑 { if(!bStart) start=index; index-=line; _stprintf(szMessage,_T("向下滚动%d行\n"),line); time=GetTickCount(); //刷新当前时间值 bStart=TRUE; OutputDebugString(szMessage); } } break; case WM_TIMER: { int tick=GetTickCount(); if(bStart && tick-time>500) //如果前后两次滚动事件超过半秒,开始绘图 { bStart=FALSE; int sub=index-start; //sub为正放大位图,为负缩小位图 TCHAR szMess[100]; _stprintf(szMess,_T("尺寸改变了%d个单位 当前刻度%d\n"),sub,index); OutputDebugString(szMess); //执行绘图 } } break; case WM_DESTROY: ::KillTimer(hWnd,500); PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; }

⑷ 用js给滚轮事件onmousewheel添加过程

MFC鼠标滚轮消息WM_MOUSEWHEEL

使用WM_MOUSEWHEEL
需要把CWnd设定为Focus
ON_WM_MOUSEWHEEL( )
CWnd::OnMouseWheel

afx_msg BOOL OnMouseWheel( UINT nFlags, short zDelta, CPoint pt );

返回值:如果允许鼠标轮滚动,则返回非零值;否则返回0。

参数:
nFlags 指明是否按下了虚拟键。这个参数可以是下列值的组合:
· MK_CONTROL 如果CTRL键被按下,则设置此位。
· MK_LBUTTON 如果鼠标左键被按下,则设置此位。
· MK_MBUTTON 如果鼠标中键被按下,则设置此位。
· MK_RBUTTON 如果鼠标右键被按下,则设置此位。
· MK_SHIFT 如果SHIFT键被按下,则设置此位。

zDelta 指明了旋转的距离。zDelta值以WHEEL_DELTA,即120的倍数或部分的形式表达。小于零的数表明往回滚动(向着用户),而大于零的数表明滚向远处(离开用户)。用户可以在鼠标软件中改变滚轮设置以反转这种响应。有关这个参数的更多信息参见说明部分。

pt 指定了光标的x和y轴坐标。这些坐标通常是相对于窗口的左上角的。

⑸ js中如何禁用鼠标滚轮事件急,在线等!

如果使用的是IE直接使用下面代码就可以了,在body的onmousewheel事件中return false

<body onmousewheel="return false;">

阅读全文

与js监听鼠标滚轮事件相关的资料

热点内容
逍遥安卓微信验证 浏览:579
5g网络什么时候普及河北邢台 浏览:709
编程和运营哪个更适合创业 浏览:893
尤里x怎么升级 浏览:399
做业务绩效考核需要哪些数据 浏览:433
dnf85版本剑魔刷图加点 浏览:407
手机硬盘测试架可以读取哪些数据 浏览:704
ug前后处理结算结果找不到文件 浏览:769
网页框架拆分代码 浏览:382
未来十年网络安全有什么影响 浏览:362
win10更新后进不了剑灵 浏览:243
iphone471激活出错 浏览:648
怎么把文件拷到u盘 浏览:620
中伊签署文件视频 浏览:661
电信光宽带网络不稳定 浏览:504
网络岗软路由 浏览:995
黑莓z10在哪里下载app 浏览:310
net批量下载文件 浏览:696
怎么把苹果一体机文件拷贝 浏览:117
sql文件怎么写 浏览:9

友情链接