滚轮事件和拖动滚动条和键盘事件

一、鼠标的滚轮事件
触发: 鼠标的滚轮上下滑动的时候触发
代码:

// 监听
// DOMMouseScroll:火狐
// onmousewheel:其他浏览器
if(window.addEventListener){
 window.addEventListener('DOMMouseScroll',wheel,false)
}
window.onmousewheel = document['onmousewheel'] = wheel
function wheel(event){
  console.log(event,'滚轮事件')
}

// vue事件
// 一般浏览器
@mousewheel=wheel($event)
// firefox浏览器
@DOMMouseScroll=wheel($event)

二、onscroll事件

触发: 鼠标滚轮滚动或者鼠标拖动滚动条
条件: body不能设置height值
1:

window.onscroll=function(){
  let t = document.documentElement.scrollTop || document.body.scrollTop
  console.log(t)
}

2:监听

window.addEventListener('scroll',function(){
  console.log('触发了')
})

3:onscroll事件—为标签添加onscroll事件
触发: 鼠标滚轮或者鼠标拖动滚动条
条件: 这个标签必须得有height值

$('#idname').scroll(function{
  console.log('触发了')
})

四、键盘事件

 jianPan () {
 // 添加unbind先进行了解绑是为了不重复被调用
 $(document).unbind("keydown").keydown((event) =>{
   if(event.keyCode === 46){
     console.log("按下了delete键盘")
   }
  })
    $(document).unbind("keyup").keyup((event) =>{
  if(event.keyCode === 46) {
    console.log("松开了delete键盘")
  }
 })
 }


键盘事件js写法
window.addEventListener(‘keydown’,function(e){
if(e.key===’s’ && e.ctrlKey){
e.preventDefault()
}
})

博客借鉴: http://www.cnblogs.com/caoruiy/p/4694498.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Qt中,可以通过重写QWidget类中的鼠标事件函数来处理鼠标事件,包括鼠标点击、移动、释放等。常用的鼠标事件函数有: - mousePressEvent(QMouseEvent *event):鼠标按下事件 - mouseMoveEvent(QMouseEvent *event):鼠标移动事件 - mouseReleaseEvent(QMouseEvent *event):鼠标释放事件 另外,在处理鼠标移动事件时,可以通过调用QWidget类中的setMouseTracking(bool enable)函数来开启或关闭鼠标跟踪功能,以便在鼠标移动时及时获取鼠标位置信息。 而处理鼠标滚轮事件,可以通过重写QWidget类中的wheelEvent(QWheelEvent *event)函数来实现。在该函数中,可以通过QWheelEvent类提供的delta()函数获取鼠标滚轮滚动的距离。 下面是一个简单的例子,演示了如何在QWidget窗口中处理鼠标事件滚轮事件: ```cpp #include <QtWidgets> class MyWidget : public QWidget { public: MyWidget(QWidget *parent = nullptr) : QWidget(parent) { setMouseTracking(true); // 开启鼠标跟踪功能 } protected: void mousePressEvent(QMouseEvent *event) override { if (event->button() == Qt::LeftButton) { qDebug() << "Left button pressed at" << event->pos(); } } void mouseMoveEvent(QMouseEvent *event) override { qDebug() << "Mouse moved to" << event->pos(); } void mouseReleaseEvent(QMouseEvent *event) override { if (event->button() == Qt::LeftButton) { qDebug() << "Left button released at" << event->pos(); } } void wheelEvent(QWheelEvent *event) override { qDebug() << "Mouse wheel rotated by" << event->delta(); } }; int main(int argc, char *argv[]) { QApplication app(argc, argv); MyWidget widget; widget.show(); return app.exec(); } ``` 在上面的例子中,我们重写了QWidget类中的mousePressEvent()、mouseMoveEvent()、mouseReleaseEvent()和wheelEvent()函数,分别处理鼠标按下、移动、释放和滚轮事件。同时,在构造函数中调用了setMouseTracking(true)函数开启鼠标跟踪功能。最后创建了一个MyWidget对象并显示出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值